Junior
¿Qué es Canvas en Android?
sobes.tech AI
Respuesta de la IA
Canvas en Android representa una superficie para dibujar. Es un objeto que proporciona métodos para dibujar primitivas gráficas (puntos, líneas, rectángulos, círculos, texto, imágenes) en un mapa de bits (Bitmap) u otra superficie.
Conceptos principales:
- Dibujo:
Canvasproporciona una API para realizar operaciones de dibujo, comodrawPoint(),drawLine(),drawRect(),drawCircle(),drawText(),drawBitmap(). - Sistema de coordenadas: Utiliza un sistema de coordenadas bidimensional, donde el punto (0,0) está en la esquina superior izquierda.
- Estado:
Canvastiene un estado que incluye transformaciones actuales (desplazamiento, escalado, rotación) y la región de recorte (clip region), que se pueden guardar y restaurar (save()yrestore()). - Paint: Los objetos
Paintse usan para definir estilos de dibujo, como color, grosor de línea, sombreado, fuentes, etc.Canvasusa elPaintactual para cada operación de dibujo.
Ejemplo de uso en una View personalizada:
// Dentro del método onDraw()
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
// Crear objeto Paint
Paint paint = new Paint();
paint.setColor(Color.RED); // Establecer color
// Dibujar rectángulo
canvas.drawRect(10, 10, 100, 100, paint);
// Dibujar círculo
paint.setColor(Color.BLUE);
canvas.drawCircle(150, 150, 50, paint);
// Establecer texto
paint.setColor(Color.BLACK);
paint.setTextSize(30);
canvas.drawText("Hello, Canvas!", 10, 200, paint);
}
Canvas está estrechamente relacionado con los objetos View. Cuando el sistema dibuja un View, crea un objeto Canvas y lo pasa al método onDraw() del View. Luego, el View usa este Canvas para dibujar su contenido.