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:
Canvasfournit une API pour effectuer des opérations de dessin, telles quedrawPoint(),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:
Canvasa 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()etrestore()). - Paint: Les objets
Paintsont utilisés pour définir le style de dessin, comme la couleur, l'épaisseur de la ligne, l'ombrage, les polices, etc.Canvasutilise lePaintactuel 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.