rellenos que primitivas pixeles mover línea imágenes graficos geometricas figuras ejemplo drawpath dibujo dibujar con como colores circulo avanzados arco android android-canvas

android - que - primitivas de dibujo línea arco circulo colores rellenos imágenes



¿Cómo puedo obtener el mapa de bits del lienzo que obtengo en OnDraw? (3)

Descubrí que Canvas tiene una función setBitmap, pero no una getBitmap. Es extraño, pero de todos modos, me permite crear yo mismo el mapa de bits y pasarlo al lienzo, conservando la referencia.

¿Cómo puedo crear el mapa de bits desde el lienzo de la vista personalizada.


Si bien no hay getBitmap() función getBitmap() para un lienzo, ya que está creando una vista personalizada, lo que puede hacer es escribir una función como esta dentro de su clase de vista.

public Bitmap get(){ return this.getDrawingCache(); }

Esto devuelve el mapa de bits de la vista, pero es importante que en todos los constructores agregue esto,

this.setDrawingCacheEnabled(true);

De getDrawingCache contrario, getDrawingCache devolverá null


No hay forma de extraer el Bitmap de Bitmap de un Canvas . La única forma de acceder es pasarlo usted mismo al crear el lienzo como este new Canvas(myBitmap) y conservar la referencia.

EDIT2: vea el golpe de comentarios de @Alex: el enfoque de pasar un Bitmap de Bitmap al Canvas no parece funcionar para las versiones más recientes de Android.

EDITAR: Si no crea el Canvas usted mismo, puede crear un Bitmap tamaño de la pantalla (o el tamaño que necesite) y luego pasarlo al Canvas en llamadas de onDraw como esta: canvas.setBitmap(myBitmap) .