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-ს თავისი შინაარსის გამოსახატავად.