Sobes.tech
Junior

Kas yra Canvas Android?

sobes.tech AI

Atsakymas iš AI

Canvas Android'e yra paviršius piešimui. Tai objektas, kuris teikia metodus grafinių primityvų (taškų, linijų, stačiakampių, apskritimų, teksto, vaizdų) piešimui ant bitinės kortelės (Bitmap) arba kitos paviršiaus.

Pagrindinės koncepcijos:

  • Piešimas: Canvas teikia API vykdyti piešimo operacijas, tokias kaip drawPoint(), drawLine(), drawRect(), drawCircle(), drawText(), drawBitmap().
  • Koordinačių sistema: Naudoja dviejų matmenų koordinačių sistemą, kur taškas (0,0) yra viršutinėje kairėje.
  • Būsenos valdymas: Canvas turi būseną, apimančią esamus transformacijas (perstumimas, mastelis, pasukimas) ir apkarpimo sritį (clip region), kurias galima išsaugoti ir atkurti (save() ir restore()).
  • Paint: Paint objektai naudojami piešimo stiliaus nustatymui, tokiam kaip spalva, linijos storis, šešėlis, šriftai ir kt. Canvas naudoja esamą Paint kiekvienai piešimo operacijai.

Pavyzdys naudojimo pritaikytame View:

// `onDraw()` metodo viduje
public void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    // Sukuriame `Paint` objektą
    Paint paint = new Paint();
    paint.setColor(Color.RED); // Nustatome spalvą

    // Piešiame stačiakampį
    canvas.drawRect(10, 10, 100, 100, paint);

    // Piešiame apskritimą
    paint.setColor(Color.BLUE);
    canvas.drawCircle(150, 150, 50, paint);

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

Canvas glaudžiai susijęs su View objektais. Kai sistema piešia View, ji sukuria Canvas objektą ir perduoda jį į onDraw() metodą View viduje. Tada View naudoja šį Canvas savo turinio piešimui.