Sobes.tech
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: Canvas biedt een API voor tekenbewerkingen zoals drawPoint(), drawLine(), drawRect(), drawCircle(), drawText(), drawBitmap().
  • Coördinatensysteem: Gebruikt een tweedimensionaal coördinatensysteem, waarbij het punt (0,0) zich linksboven bevindt.
  • Toestand: Canvas heeft een toestand die de huidige transformaties (verschuiving, schaal, rotatie) en de knipregio (clip region) omvat, die opgeslagen en hersteld kunnen worden (save() en restore()).
  • Paint: Paint-objecten worden gebruikt om de stijl van tekenen te bepalen, zoals kleur, lijndikte, schaduw, lettertypes, enz. Canvas gebruikt de huidige Paint voor 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.