Sobes.tech
Junior

Qu'est-ce que Canvas dans Android?

sobes.tech IA

Réponse de l'IA

Canvas en Android représente une surface pour dessiner. C'est un objet qui fournit des méthodes pour dessiner des primitives graphiques (points, lignes, rectangles, cercles, texte, images) sur une carte bitmap (Bitmap) ou une autre surface.

Concepts principaux:

  • Dessin: Canvas fournit une API pour effectuer des opérations de dessin, telles que drawPoint(), drawLine(), drawRect(), drawCircle(), drawText(), drawBitmap().
  • Système de coordonnées: Utilise un système de coordonnées bidimensionnel, où le point (0,0) est en haut à gauche.
  • État: Canvas a un état qui inclut les transformations actuelles (décalage, mise à l'échelle, rotation) et la région de découpe (clip region), que l'on peut sauvegarder et restaurer (save() et restore()).
  • Paint: Les objets Paint sont utilisés pour définir le style de dessin, comme la couleur, l'épaisseur de la ligne, l'ombrage, les polices, etc. Canvas utilise le Paint actuel pour chaque opération de dessin.

Exemple d'utilisation dans une View personnalisée:

// Dans la méthode onDraw()
public void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    // Créer un objet Paint
    Paint paint = new Paint();
    paint.setColor(Color.RED); // Définir la couleur

    // Dessiner un rectangle
    canvas.drawRect(10, 10, 100, 100, paint);

    // Dessiner un cercle
    paint.setColor(Color.BLUE);
    canvas.drawCircle(150, 150, 50, paint);

    // Définir le texte
    paint.setColor(Color.BLACK);
    paint.setTextSize(30);
    canvas.drawText("Hello, Canvas!", 10, 200, paint);
}

Canvas est étroitement lié aux objets View. Lorsque le système dessine un View, il crée un objet Canvas et le transmet à la méthode onDraw() du View. Ensuite, le View utilise ce Canvas pour dessiner son contenu.