Junior
Wat is Canvas in Android?
sobes.tech AI
Antwoord van AI
Canvas in Android vertegenwoordigt een oppervlak om op te tekenen. Het is een object dat methoden biedt om grafische primitieve vormen (punten, lijnen, rechthoeken, cirkels, tekst, afbeeldingen) te tekenen op een bitmap (Bitmap) of een ander oppervlak.
Belangrijkste concepten:
- Tekenen:
Canvasbiedt een API voor tekenbewerkingen zoalsdrawPoint(),drawLine(),drawRect(),drawCircle(),drawText(),drawBitmap(). - Coördinatensysteem: Gebruikt een tweedimensionaal coördinatensysteem, waarbij het punt (0,0) zich linksboven bevindt.
- Toestand:
Canvasheeft een toestand die de huidige transformaties (verschuiving, schaal, rotatie) en de knipregio (clip region) omvat, die opgeslagen en hersteld kunnen worden (save()enrestore()). - Paint:
Paint-objecten worden gebruikt om de stijl van tekenen te bepalen, zoals kleur, lijndikte, schaduw, lettertypes, enz.Canvasgebruikt de huidigePaintvoor elke tekenbewerking.
Voorbeeld van gebruik in een aangepaste View:
// Binnen de onDraw() methode
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
// Maak een Paint-object
Paint paint = new Paint();
paint.setColor(Color.RED); // Stel kleur in
// Teken een rechthoek
canvas.drawRect(10, 10, 100, 100, paint);
// Teken een cirkel
paint.setColor(Color.BLUE);
canvas.drawCircle(150, 150, 50, paint);
// Stel tekst in
paint.setColor(Color.BLACK);
paint.setTextSize(30);
canvas.drawText("Hello, Canvas!", 10, 200, paint);
}
Canvas is nauw verbonden met View-objecten. Wanneer het systeem een View tekent, maakt het een Canvas-object aan en geeft dat door aan de onDraw()-methode van de View. Vervolgens gebruikt de View dit Canvas om zijn inhoud te tekenen.