Sobes.tech
Junior

Mi az a Canvas az Androidban?

sobes.tech MI

Válasz az MI-től

Az Android Canvas egy felületet jelent a rajzoláshoz. Ez egy objektum, amely metódusokat biztosít grafikus primitívek (pontok, vonalak, téglalapok, körök, szöveg, képek) rajzolására bitmapen (Bitmap) vagy más felületen.

Fő fogalmak:

  • Rajzolás: A Canvas API-t nyújt rajzolási műveletek végrehajtására, mint például drawPoint(), drawLine(), drawRect(), drawCircle(), drawText(), drawBitmap().
  • Koordináta rendszer: Két dimenziós koordináta rendszert használ, ahol a (0,0) pont a bal felső sarokban található.
  • Állapot: A Canvas rendelkezik egy állapottal, amely magában foglalja a jelenlegi transzformációkat (elmozdítás, nagyítás, forgatás) és a kivágási területet (clip region), amelyeket el lehet menteni és visszaállítani (save() és restore()).
  • Paint: A Paint objektumokat a rajzolási stílus meghatározására használják, például szín, vonalvastagság, árnyékolás, betűtípusok stb. A Canvas az aktuális Paint-ot használja minden rajzolási művelethez.

Példa egy egyedi View-ben való használatra:

// Az onDraw() metódusban
public void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    // Paint objektum létrehozása
    Paint paint = new Paint();
    paint.setColor(Color.RED); // Szín beállítása

    // Téglalap rajzolása
    canvas.drawRect(10, 10, 100, 100, paint);

    // Kör rajzolása
    paint.setColor(Color.BLUE);
    canvas.drawCircle(150, 150, 50, paint);

    // Szöveg beállítása
    paint.setColor(Color.BLACK);
    paint.setTextSize(30);
    canvas.drawText("Hello, Canvas!", 10, 200, paint);
}

A Canvas szorosan kapcsolódik a View objektumokhoz. Amikor a rendszer rajzol egy View-t, létrehoz egy Canvas objektumot, és átadja azt a View onDraw() metódusának. Ezután a View ezt a Canvas-t használja tartalmának rajzolására.