Junior
Ce este Canvas în Android?
sobes.tech AI
Răspuns de la AI
Canvas în Android reprezintă o suprafață pentru desenare. Este un obiect care oferă metode pentru a desena primitive grafice (puncte, linii, dreptunghiuri, cercuri, text, imagini) pe o hartă bitmap (Bitmap) sau pe o altă suprafață.
Concepte principale:
- Desen:
Canvasoferă o API pentru a efectua operații de desenare, cum ar fidrawPoint(),drawLine(),drawRect(),drawCircle(),drawText(),drawBitmap(). - Sistem de coordonate: Utilizează un sistem bidimensional de coordonate, unde punctul (0,0) se află în colțul din stânga sus.
- Stare:
Canvasare o stare care include transformări curente (deplasare, scalare, rotație) și regiunea de decupare (clip region), pe care le poți salva și restaura (save()șirestore()). - Paint: Obiectele
Paintsunt folosite pentru a determina stilul de desenare, cum ar fi culoarea, grosimea liniei, umbrirea, fonturile etc.CanvasfoloseștePaintcurent pentru fiecare operație de desenare.
Exemplu de utilizare într-o View personalizată:
// În interiorul metodei onDraw()
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
// Creăm un obiect Paint
Paint paint = new Paint();
paint.setColor(Color.RED); // Setăm culoarea
// Desenăm un dreptunghi
canvas.drawRect(10, 10, 100, 100, paint);
// Desenăm un cerc
paint.setColor(Color.BLUE);
canvas.drawCircle(150, 150, 50, paint);
// Setăm textul
paint.setColor(Color.BLACK);
paint.setTextSize(30);
canvas.drawText("Hello, Canvas!", 10, 200, paint);
}
Canvas este strâns legat de obiectele View. Când sistemul desenează un View, creează un obiect Canvas și îl transmite în metoda onDraw() a View. Apoi, View folosește acest Canvas pentru a desena conținutul său.