Junior
Canvas дар Android чист?
sobes.tech AI
Ҷавоб аз AI
Canvas дар Android ўяўляе сабой паверхню для малявання. Гэта аб'ект, які прадастаўляе метады для малявання графічных прамітываў (пунктаў, ліній, прамавугольнікаў, кругоў, тэксту, малюнкаў) на бітмапе (Bitmap) або іншай паверхні.
Асноўныя канцэпцыі:
- Маляванне:
Canvasпрадастаўляе API для выканання аперацый малявання, такіх якdrawPoint(),drawLine(),drawRect(),drawCircle(),drawText(),drawBitmap(). - Сістэма каардынат: Выкарыстоўвае двухмерную сістэму каардынат, дзе пункт (0,0) знаходзіцца ў левым верхнім куце.
- Стан:
Canvasмае стан, які ўключае бягучыя трансфармацыі (зрух, маштабаванне, паварот) і вобласць вырэзкі (clip region), якія можна захоўваць і аднаўляць (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 для малявання свайго зместу.