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:
Canvasteikia API vykdyti piešimo operacijas, tokias kaipdrawPoint(),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:
Canvasturi būseną, apimančią esamus transformacijas (perstumimas, mastelis, pasukimas) ir apkarpimo sritį (clip region), kurias galima išsaugoti ir atkurti (save()irrestore()). - Paint:
Paintobjektai naudojami piešimo stiliaus nustatymui, tokiam kaip spalva, linijos storis, šešėlis, šriftai ir kt.Canvasnaudoja esamąPaintkiekvienai 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.