Junior
Co je to Canvas v Androidu?
sobes.tech AI
Odpověď od AI
Canvas v Androidu představuje plochu pro kreslení. Je to objekt, který poskytuje metody pro kreslení grafických primitiv (body, čáry, obdélníky, kruhy, texty, obrázky) na bitmapě (Bitmap) nebo jiné ploše.
Hlavní koncepty:
- Kreslení:
Canvasposkytuje API pro provádění kreslicích operací, jako jsoudrawPoint(),drawLine(),drawRect(),drawCircle(),drawText(),drawBitmap(). - Souřadnicový systém: Používá dvourozměrný souřadnicový systém, kde bod (0,0) je v levém horním rohu.
- Stav:
Canvasmá stav, který zahrnuje aktuální transformace (posun, škálování, rotace) a oblast ořezu (clip region), které lze ukládat a obnovovat (save()arestore()). - Paint: Objekty
Paintse používají k určení stylu kreslení, například barvy, tloušťky čáry, stínování, fontů atd.Canvaspoužívá aktuálníPaintpro každou kreslicí operaci.
Příklad použití v vlastní View:
// Uvnitř metody onDraw()
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
// Vytvoření objektu Paint
Paint paint = new Paint();
paint.setColor(Color.RED); // Nastavení barvy
// Nakreslení obdélníku
canvas.drawRect(10, 10, 100, 100, paint);
// Nakreslení kruhu
paint.setColor(Color.BLUE);
canvas.drawCircle(150, 150, 50, paint);
// Nastavení textu
paint.setColor(Color.BLACK);
paint.setTextSize(30);
canvas.drawText("Hello, Canvas!", 10, 200, paint);
}
Canvas je úzce spojen s objekty View. Když systém kreslí View, vytvoří objekt Canvas a předá ho metodě onDraw() View. View pak používá tento Canvas k vykreslení svého obsahu.