Sobes.tech
Junior

Kas ir Canvas Android?

sobes.tech AI

Atbilde no AI

Canvas Android platformā ir virsma zīmēšanai. Tas ir objekts, kas nodrošina metodes grafisko primitivu (punktu, līniju, taisnstūra, riņķa, teksta, attēlu) zīmēšanai uz bitkartes (Bitmap) vai citas virsmas.

Galvenās koncepcijas:

  • Zīmēšana: Canvas nodrošina API, lai veiktu zīmēšanas operācijas, piemēram, drawPoint(), drawLine(), drawRect(), drawCircle(), drawText(), drawBitmap().
  • Koordinātu sistēma: Tā izmanto divu dimensiju koordinātu sistēmu, kur punkts (0,0) atrodas augšējā kreisajā stūrī.
  • Stāvokļa pārvaldība: Canvas ir stāvoklis, kas ietver pašreizējās pārveidošanas (novirze, mērogošana, pagriešana) un apgriešanas apgabalu (clip region), kurus var saglabāt un atjaunot (save() un restore()).
  • Paint: Paint objekti tiek izmantoti zīmēšanas stila noteikšanai, piemēram, krāsa, līnijas biezums, ēnojums, fonti utt. Canvas izmanto pašreizējo Paint katrai zīmēšanas operācijai.

Piemērs pielāgotā View:

// `onDraw()` metodē
public void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    // Izveido `Paint` objektu
    Paint paint = new Paint();
    paint.setColor(Color.RED); // Iestata krāsu

    // Zīmē taisnstūri
    canvas.drawRect(10, 10, 100, 100, paint);

    // Zīmē riņķi
    paint.setColor(Color.BLUE);
    canvas.drawCircle(150, 150, 50, paint);

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

Canvas ir cieši saistīts ar View objektiem. Kad sistēma zīmē View, tā izveido Canvas objektu un nodod to onDraw() metodē View iekšienē. Tad View izmanto šo Canvas, lai zīmētu savu saturu.