Sé lo que hace. Si no uso a veces puedo ver la diferencia en las alineaciones, a veces no. Mi pregunta es: si canvas.restore
restaura el estado anterior a cuando se guardó, ¿por qué no se realizan los cambios después de guardar y antes de restaurar? Los cambios permanecen ¿Por qué?¿Por qué usamos canvas.save o canvas.restore?
46
A
Respuesta
64
canvas.save
y canvas.restore
deshacer cosas como la rotación y la traducción. No deshacen el dibujo en el lienzo. El lienzo de Android funciona de manera similar al lienzo de HTML5, por lo que puede mirar https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Canvas_tutorial/Transformations si necesita más aclaraciones.
Cuestiones relacionadas
- 1. ¿Por qué usamos web.xml?
- 2. ¿Por qué usamos Response.ClearHeaders()?
- 3. ¿Por qué usamos la serialización?
- 4. ¿Por qué usamos finalmente bloques?
- 5. Por qué * debería * usamos EventHandler
- 6. ¿Por qué usamos "({})" en jQuery?
- 7. ¿Por qué exactamente usamos NoSQL?
- 8. ¿Por qué usamos la interfaz sin miembros?
- 9. ¿Por qué usamos Virtual y Override?
- 10. ¿Por qué usamos la anotación de hibernación?
- 11. ¿Por qué usamos la Finalización en Unidades?
- 12. ¿por qué usamos el tipo @Master?
- 13. ¿Para qué usamos glyph?
- 14. ¿Por qué usamos HTML helper en ASP.NET MVC?
- 15. ¿Por qué usamos rt.jar en un proyecto de Java?
- 16. ¿Dónde y por qué usamos __toString() en PHP?
- 17. ¿Por qué usamos "esto" en los Métodos de extensión?
- 18. ¿Por qué usamos [super viewDidLoad] en cada método viewDidLoad?
- 19. ¿'declaramos' jQuery o simplemente lo usamos?
- 20. ¿Para qué usamos CURLOPT_WRITEFUNCTION en PHP cURL?
- 21. ¿Cuándo usamos MVVM?
- 22. ¿Qué es InputStream y flujo de salida? ¿Por qué y cuándo los usamos?
- 23. Cuándo usamos ANTLR
- 24. ¿Por qué no usamos el nuevo operador al inicializar una cadena?
- 25. ¿Por qué usamos la palabra clave final con clases internas anónimas?
- 26. ¿Dónde/cuándo usamos JSON?
- 27. ¿Por qué la aplicación de Android se reinicia si usamos el botón Atrás para salir?
- 28. ¿Por qué en Objective-C usamos self = [super init] en lugar de solo [super init]?
- 29. ¿Por qué usamos "tipo * var" en lugar de "tipo & var" cuando definimos un puntero?
- 30. Las cadenas son objetos en Java, entonces ¿por qué no usamos 'nuevo' para crearlos?