Sobes.tech
Junior

Mis on Canvas Androidis?

sobes.tech AI

Vastus AI-lt

Canvas Androidis on pinnav surface joonistamiseks. See on objekt, mis pakub meetodeid graafiliste primitiivide (punktide, joonte, ristkülikute, ringide, teksti, piltide) joonistamiseks bitkaardile (Bitmap) või muule pinnale.

Põhikonseptsioonid:

  • Joonistamine: Canvas pakub API-d joonistustegevuste teostamiseks, nagu drawPoint(), drawLine(), drawRect(), drawCircle(), drawText(), drawBitmap().
  • Koordinaatsüsteem: Kasutab kahe mõõtmelise koordinaatsüsteemi, kus punkt (0,0) asub ülemises vasakus nurgas.
  • Seisund: Canvas omab seisundit, mis hõlmab praeguseid teisendusi (nihutamine, skaleerimine, pööramine) ja lõikekohast (clip region), mida saab salvestada ja taastada (save() ja restore()).
  • Paint: Objekti Paint kasutatakse joonistamisstiili määratlemiseks, nagu värv, joone paksus, varjutus, fondid jms. Canvas kasutab iga joonistustoiminguga praegust Paint-i.

Näide kasutusest kohandatud View-s:

// `onDraw()` meetodi sees
public void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    // Loo `Paint` objekt
    Paint paint = new Paint();
    paint.setColor(Color.RED); // Määra värv

    // Joonista ristkülik
    canvas.drawRect(10, 10, 100, 100, paint);

    // Joonista ring
    paint.setColor(Color.BLUE);
    canvas.drawCircle(150, 150, 50, paint);

    // Määra tekst
    paint.setColor(Color.BLACK);
    paint.setTextSize(30);
    canvas.drawText("Hello, Canvas!", 10, 200, paint);
}

Canvas on tihedalt seotud View objektidega. Kui süsteem joonistab View-i, loob ta Canvas objekti ja edastab selle onDraw() meetodile View-i sees. Seejärel kasutab View seda Canvas-i oma sisu joonistamiseks.