Sobes.tech
Junior

Android-ში Canvas რა არის?

sobes.tech AI

პასუხი AI-სგან

Canvas Android-ში წარმოადგენს ფარდაგს გამოსახულების გამოსახატავად. ეს არის ობიექტი, რომელიც უზრუნველყოფს მეთოდებს გრაფიკული პრიმიტივების (პუნქტების, ხაზების, მართკუთხილების, წრეგან, ტექსტის, სურათების) გამოსახატავად ბიტოვარიან რუკაზე (Bitmap) ან სხვა ზედაპირზე.

ძირითადი კონცეპტები:

  • გამოსახვა: Canvas უზრუნველყოფს API-ს გამოსახვის ოპერაციების შესასრულებლად, როგორიცაა drawPoint(), drawLine(), drawRect(), drawCircle(), drawText(), drawBitmap().
  • კოორდინატული სისტემა: იყენებს ორ განზომილებიან კოორდინატულ სისტემას, სადაც წერტილი (0,0) მდებარეობს ზედა მარცხენა კუთხეში.
  • სტატუსი: Canvas აქვს სტატუსი, რომელიც მოიცავს მიმდინარე ტრანსფორმაციებს (გადატრიალება, მასშტაბირება, ტრიალი) და კლიპის რეგიონს, რომლებიც შეიძლება შეინახოს და აღადგინოს (save() და restore()).
  • Paint: Paint ობიექტები გამოიყენება გამოსახვის სტილის განსაზღვრაში, როგორიცაა ფერი, ხაზი, ჩრდილი, ფონტები და ა.შ. Canvas იყენებს მიმდინარე Paint-ს თითოეულ გამოსახვის ოპერაციაზე.

მაგალითი კასტომურ View-ში:

// onDraw() მეთოდის შიგნით
public void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    // ქმნის `Paint` ობიექტს
    Paint paint = new Paint();
    paint.setColor(Color.RED); // ადგენს ფერს

    // გამოსახავს მართკუთხილს
    canvas.drawRect(10, 10, 100, 100, paint);

    // გამოსახავს წრეზე
    paint.setColor(Color.BLUE);
    canvas.drawCircle(150, 150, 50, paint);

    // ადგენს ტექსტს
    paint.setColor(Color.BLACK);
    paint.setTextSize(30);
    canvas.drawText("Hello, Canvas!", 10, 200, paint);
}

Canvas მჭიდროდ არის დაკავშირებული View ობიექტებთან. როდესაც სისტემა ხატავს View-ს, ის ქმნის Canvas ობიექტს და გადასცემს მას onDraw() მეთოდში View-ში. შემდეგ View იყენებს ამ Canvas-ს თავისი შინაარსის გამოსახატავად.