Sobes.tech
Junior

Androidda Canvas nima?

sobes.tech AI

AIdan javob

Canvas Androidda chizish uchun yuzani ifodalaydi. Bu, grafik primitives (nuqtalar, chiziqlar, to'rtburchaklar, doiralar, matnlar, rasmlar)ni bitmap (Bitmap) yoki boshqa yuzaga chizish uchun metodlarni taqdim etadigan ob'ekt.

Asosiy tushunchalar:

  • Chizish: Canvas drawPoint(), drawLine(), drawRect(), drawCircle(), drawText(), drawBitmap() kabi chizish operatsiyalarini bajarish uchun API taqdim etadi.
  • Koordinatalar tizimi: Ikki o'lchovli koordinatalar tizimini ishlatadi, bu yerda (0,0) nuqtasi yuqori chap burchakda joylashgan.
  • Holat: Canvas hozirgi transformatsiyalar (siljish, o'lchash, aylantirish) va kesish hududi (clip region) ni o'z ichiga olgan holatga ega bo'lib, ularni saqlash va tiklash mumkin (save() va restore()).
  • Paint: Paint ob'ektlari chizish uslubini belgilash uchun ishlatiladi, masalan, rang, chiziq qalinligi, soyalar, shriftlar va boshqalar. Canvas har bir chizish operatsiyasi uchun hozirgi Paint ni ishlatadi.

Maxsus Viewda foydalanish misoli:

// onDraw() metodida
public void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    // Paint ob'ekti yaratish
    Paint paint = new Paint();
    paint.setColor(Color.RED); // Rangni o'rnatish

    // To'rtburchak chizish
    canvas.drawRect(10, 10, 100, 100, paint);

    // Doira chizish
    paint.setColor(Color.BLUE);
    canvas.drawCircle(150, 150, 50, paint);

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

Canvas View ob'ektlari bilan chambarchens bog'liq. Sistem Viewni chizayotganda, Canvas ob'ektini yaratadi va uni View ning onDraw() metodiga uzatadi. Keyin, View bu Canvasni foydalanib, uning mazmunini chizadi.