Sobes.tech
Junior

Android'de Canvas nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Android'de Canvas, çizim yapmak için bir yüzey temsil eder. Bu, bitmap (Bitmap) veya başka bir yüzey üzerinde grafik primitive'leri (noktalar, çizgiler, dikdörtgenler, daireler, metinler, resimler) çizmek için yöntemler sağlayan bir nesnedir.

Ana kavramlar:

  • Çizim: Canvas, drawPoint(), drawLine(), drawRect(), drawCircle(), drawText(), drawBitmap() gibi çizim işlemleri yapmak için API sağlar.
  • Koordinat sistemi: İki boyutlu bir koordinat sistemi kullanır, burada (0,0) noktası sol üst köşededir.
  • Durum: Canvas'ın, mevcut dönüşümler (kaydırma, ölçeklendirme, döndürme) ve kırpma bölgesi (clip region) içeren bir durumu vardır; bunlar kaydedilebilir ve geri yüklenebilir (save() ve restore()).
  • Paint: Paint nesneleri, renk, çizgi kalınlığı, gölgeleme, yazı tipleri gibi çizim stilini belirlemek için kullanılır. Canvas, her çizim işlemi için mevcut Paint'ı kullanır.

Özelleştirilmiş bir View içinde kullanım örneği:

// onDraw() metodunun içinde
public void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    // Paint nesnesi oluştur
    Paint paint = new Paint();
    paint.setColor(Color.RED); // Renk ayarla

    // Dikdörtgen çiz
    canvas.drawRect(10, 10, 100, 100, paint);

    // Daire çiz
    paint.setColor(Color.BLUE);
    canvas.drawCircle(150, 150, 50, paint);

    // Metin ayarla
    paint.setColor(Color.BLACK);
    paint.setTextSize(30);
    canvas.drawText("Hello, Canvas!", 10, 200, paint);
}

Canvas, View nesneleriyle yakından ilişkilidir. Sistem bir View'i çizdiğinde, bir Canvas nesnesi oluşturur ve bunu View'in onDraw() metoduna geçirir. Daha sonra, View bu Canvas'ı kullanarak içeriğini çizer.