Junior
Čo je Canvas v Androidu?
sobes.tech AI
Odpoveď od AI
Canvas v Androidu predstavuje povrch za crtanje. To je objekt koji pruža metode za crtanje grafičkih primitivan (tačaka, linija, pravougaonika, krugova, teksta, slika) na bitmap (Bitmap) ili drugoj površini.
Glavni koncepti:
- Crtanje:
Canvaspruža API za izvršavanje operacija crtanja kao što sudrawPoint(),drawLine(),drawRect(),drawCircle(),drawText(),drawBitmap(). - Koordinatni sistem: Koristi dvodimenzionalni koordinatni sistem, gde je tačka (0,0) u gornjem levom uglu.
- Stanje:
Canvasima stanje koje uključuje trenutne transformacije (pomak, skaliranje, rotacija) i oblast sečenja (clip region), koje se mogu čuvati i obnavljati (save()irestore()). - Paint: Objekti
Paintse koriste za definisanje stila crtanja, kao što su boja, debljina linije, senčenje, fontovi itd.Canvaskoristi trenutniPaintza svaku operaciju crtanja.
Primer korišćenja u prilagođenom View:
// Unutar metode onDraw()
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
// Kreiranje objekta Paint
Paint paint = new Paint();
paint.setColor(Color.RED); // Postavljanje boje
// Crtanje pravougaonika
canvas.drawRect(10, 10, 100, 100, paint);
// Crtanje kruga
paint.setColor(Color.BLUE);
canvas.drawCircle(150, 150, 50, paint);
// Postavljanje teksta
paint.setColor(Color.BLACK);
paint.setTextSize(30);
canvas.drawText("Hello, Canvas!", 10, 200, paint);
}
Canvas je usko povezan sa objektima View. Kada sistem crta View, kreira objekat Canvas i prosleđuje ga metodi onDraw() View. Zatim, View koristi ovaj Canvas za crtanje svog sadržaja.