Dado que el método de traducción de HTML5 mueve aparentemente el origen del dibujo en relación con su origen anterior. (Cuando uso ctx.translate (20,20) dos veces seguidas obtengo el mismo resultado que cuando uso ctx.translate (40,40)) Bueno, ahora el problema es que me gustaría restablecer el origen del dibujo a su posición original (la posición que tenía antes de la primera utilización de translate() en ella), ¿cómo hago eso?Método de traducción HTML5, cómo restablecer a los valores predeterminados?
15
A
Respuesta
35
ctx.setTransform(1, 0, 0, 1, 0, 0);
46
puede hacerlo mediante el uso de .save()
y .restore()
ctx.save();
ctx.translate(// do some translations);
// draw whatever
ctx.restore();
Es necesario llamar save()
para "salvar" el estado actual de contextos. Luego puede realizar traducciones, rotaciones, etc. Después de su llamada finalizada restore()
para restablecer el estado del contexto a lo que era cuando inicialmente llamó al save()
.
2
ctx.resetTransform();
Ver MDN documentation para obtener más información. Tiene una compatibilidad de navegador muy baja.
+0
Sí, simplemente me encontré con esto también, muy bien. +1 – Loktar
Cuestiones relacionadas
- 1. MVC redirigir a los valores predeterminados ruta
- 2. ¿Cómo restablecer las propiedades de estilo a sus valores predeterminados de CSS en javascript?
- 3. Acceso a los valores de argumento predeterminados en Python
- 4. Cómo restablecer los formularios de lista de SharePoint 2010 de InfoPath a los formularios predeterminados?
- 5. comportamiento de los valores predeterminados inconsistentes (NSUserDefaults) en los valores predeterminados del simulador de iPhone
- 6. ¿Cómo registro los valores predeterminados en MonoTouch?
- 7. SingleOrDefault: ¿Cómo cambiar los valores predeterminados?
- 8. canvas HTML5 "restablecer" fillStyle
- 9. ¿Cómo se restablecen los valores predeterminados para VI?
- 10. cambiar los valores predeterminados de un Plugin
- 11. HTML5 Boilerplate, HTML5 Restablecer validación CSS
- 12. Django establece los valores de formulario predeterminados
- 13. Configuración de los valores predeterminados de AssemblyInfo.cs
- 14. C# 4.0: Valores predeterminados del parámetro de método como matriz
- 15. local androide cambia aleatoriamente a los valores predeterminados
- 16. restablecer una forma a los valores por defecto
- 17. Obtener valores predeterminados de Backbone.Model en un método?
- 18. ¿Cómo/dónde definir los valores predeterminados de fancybox?
- 19. GetPrivateProfileInt- leyendo solo los valores predeterminados
- 20. XML Serialización de los valores predeterminados de los atributos opcionales
- 21. ¿Cómo registrar los valores predeterminados del usuario utilizando NSUserDefaults sin sobreescribir los valores existentes?
- 22. attr_accessor valores predeterminados
- 23. C# - ¿Cómo saltarse parámetros con valores predeterminados?
- 24. Parámetros de método predeterminados en C#
- 25. Cómo establecer los valores predeterminados del diálogo JTry UI
- 26. Cómo puedo anular los valores predeterminados en jQuery Fullcalendar
- 27. J2EE: valores predeterminados para los atributos de etiquetas personalizadas
- 28. AutoResetEvent Restablecer método
- 29. Valores predeterminados de memoria JVM
- 30. Anulación de valores predeterminados en Mockito
Exactamente lo que estaba buscando. 'ctx.setTransform (1, 0, 0, 1, 0.5, 0.5);' y nunca preocuparse por restablecer la transformación. – Nolonar
Aunque esto funciona, se debe aceptar la respuesta de @Loktar como la mejor: http://stackoverflow.com/a/11144306/1866876 – viarnes
Si todo lo que desea es deshacer un solo lote de traducciones al espacio predeterminado (no transformado), entonces 'setTransform (1,0,0,1,0,0)' es mejor que 'save & restore' porque save/restore funciona en cada propiedad de contexto en lugar de solo en las transformaciones. – markE