Junior
Cos'è Canvas in Android?
sobes.tech AI
Risposta dell'AI
Canvas in Android rappresenta una superficie su cui disegnare. È un oggetto che fornisce metodi per disegnare primitive grafiche (punti, linee, rettangoli, cerchi, testo, immagini) su una mappa di bit (Bitmap) o su un'altra superficie.
Concetti principali:
- Disegno:
Canvasfornisce un'API per eseguire operazioni di disegno comedrawPoint(),drawLine(),drawRect(),drawCircle(),drawText(),drawBitmap(). - Sistema di coordinate: Utilizza un sistema di coordinate bidimensionale, dove il punto (0,0) si trova in alto a sinistra.
- Stato:
Canvasha uno stato che include le trasformazioni correnti (traslazione, scalatura, rotazione) e l'area di ritaglio (clip region), che possono essere salvate e ripristinate (save()erestore()). - Paint: Gli oggetti
Paintsono usati per definire lo stile di disegno, come colore, spessore della linea, ombreggiatura, font, ecc.Canvasutilizza ilPaintcorrente per ogni operazione di disegno.
Esempio di utilizzo in una View personalizzata:
// All'interno del metodo onDraw()
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
// Creare un oggetto Paint
Paint paint = new Paint();
paint.setColor(Color.RED); // Imposta il colore
// Disegnare un rettangolo
canvas.drawRect(10, 10, 100, 100, paint);
// Disegnare un cerchio
paint.setColor(Color.BLUE);
canvas.drawCircle(150, 150, 50, paint);
// Impostare il testo
paint.setColor(Color.BLACK);
paint.setTextSize(30);
canvas.drawText("Hello, Canvas!", 10, 200, paint);
}
Canvas è strettamente collegato agli oggetti View. Quando il sistema disegna una View, crea un oggetto Canvas e lo passa al metodo onDraw() della View. La View quindi utilizza questo Canvas per disegnare il suo contenuto.