Sobes.tech
Junior

Was ist Canvas in Android?

sobes.tech KI

Antwort von AI

Canvas in Android stellt eine Oberfläche zum Zeichnen dar. Es ist ein Objekt, das Methoden bereitstellt, um grafische Primitive (Punkte, Linien, Rechtecke, Kreise, Text, Bilder) auf einer Bitmap (Bitmap) oder einer anderen Oberfläche zu zeichnen.

Hauptkonzepte:

  • Zeichnen: Canvas bietet eine API für Zeichenoperationen wie drawPoint(), drawLine(), drawRect(), drawCircle(), drawText(), drawBitmap().
  • Koordinatensystem: Verwendet ein zweidimensionales Koordinatensystem, bei dem der Punkt (0,0) in der oberen linken Ecke liegt.
  • Zustand: Canvas hat einen Zustand, der aktuelle Transformationen (Verschiebung, Skalierung, Drehung) und den Clip-Bereich umfasst, die gespeichert und wiederhergestellt werden können (save() und restore()).
  • Paint: Paint-Objekte werden verwendet, um den Zeichenstil zu definieren, z.B. Farbe, Linienstärke, Schattierung, Schriftarten usw. Canvas verwendet das aktuelle Paint für jede Zeichenoperation.

Beispiel für die Verwendung in einer benutzerdefinierten View:

// Innerhalb der Methode onDraw()
public void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    // Erstellen eines Paint-Objekts
    Paint paint = new Paint();
    paint.setColor(Color.RED); // Farbe setzen

    // Zeichnen eines Rechtecks
    canvas.drawRect(10, 10, 100, 100, paint);

    // Zeichnen eines Kreises
    paint.setColor(Color.BLUE);
    canvas.drawCircle(150, 150, 50, paint);

    // Text setzen
    paint.setColor(Color.BLACK);
    paint.setTextSize(30);
    canvas.drawText("Hello, Canvas!", 10, 200, paint);
}

Canvas ist eng verbunden mit den View-Objekten. Wenn das System eine View zeichnet, erstellt es ein Canvas-Objekt und übergibt es an die Methode onDraw() der View. Die View verwendet dann dieses Canvas, um ihren Inhalt zu zeichnen.