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()verestore()). - Paint:
Paintnesneleri, renk, çizgi kalınlığı, gölgeleme, yazı tipleri gibi çizim stilini belirlemek için kullanılır.Canvas, her çizim işlemi için mevcutPaint'ı 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.