2012-05-18 12 views
11

Quiero aprender cómo puedo crear capas (como en photoshop) en mi aplicación de Android. Quiero lograr una cosa básica: cuando agregue una imagen en mi lienzo, que será alguna figura, por ejemplo, quiero poder pintar el lienzo, pero la pintura no debe afectar las líneas de la figura. Y luego tengo que guardar esa imagen en mi tarjeta Sd.Android crear capas en lienzo

¿Alguna sugerencia/consejo/ejemplos? ¿Qué puedo usar para lograr esto?

+0

¿Ha mirado en 'PorterDuff.Mode'? Supongo que sus capas son estáticas y que una vez dibujadas no se pueden quitar ni mover. ¿Es correcto o quieres capas exactamente como Photoshop? – techiServices

+0

Sí, quiero crear algo similar como capas en photoshop. –

+0

¿Entonces se pueden agregar, quitar y mover? – techiServices

Respuesta

1

El orden de cómo se hace la pintura en capas. Crea una pila de objetos para pintar y luego modifica objetos individuales (pintando en capas) o muévelos en esta pila (cambiando capas). Utilice el mismo orden para crear su imagen para guardar.

0

Eche un vistazo a los diversos Xfermode s que puede aplicar a un Paint. PorterDuff.Mode ofrece algunas opciones como las que obtiene en Photoshop, como la pantalla y multiplicar, aclarar y oscurecer. El AvoidXferMode puede satisfacer sus necesidades más sin embargo.

0

Puede componer sus capas en FrameLayout. Es posible que necesite algunos trucos para garantizar que los eventos táctiles pasen a la capa correcta.

Una vez que tenga su composición de android como desee, puede usar mFrameLayout.onDraw (Canvas c) para dibujar todo en un lienzo.

Este artículo tiene algo de información sobre cómo convertir su ViewGroup en un jpeg Image on canvas to JPEG file