Adición de función de deshacer rehacer a la aplicación FingerPaint (uno de aplicación de la muestra de la google)
Pregunta
Quiero modificar la aplicación FingerPaint y añadir deshacer y rehacer cuenta a la misma. Básicamente se dibuja el camino de a la lona en el método onDraw y dibuja mismos caminos a un mapa de bits también. De todas formas mi primer pensamiento fue para salvar a los mapas de bits como archivos pero puede haber alguna manera más eficiente. Estoy a la espera de sugerencias.
Solución
Se puede crear un nuevo lienzo, empujarlo en una pila, ponerlo en la misma width
y height
, y luego usar drawImage()
con el lienzo principal como la primera imagen para copiar el contenido de nuevo. Para deshacer, caminar por la drawImage()
pila y el uso a la inversa. (No sobresalen de la pila, o usted no será capaz de hacer de nuevo.)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow