Ho implementato una funzione di zoom in e out su un elemento canvas. funziona ridimensionando la tela, traducendola e quindi ridisegnando nuovamente l'intera scena. il problema è che ci vuole un sacco di tempo per ridisegnare tutto perché ho un sacco di cose sulla mia tela.html5: copia una tela per immagine e ritorno
Ho bisogno di un modo per copiare la tela su un oggetto immagine e di copiare nuovamente l'immagine sulla tela senza perdere qualità. quali sono i metodi specifici per copiare la tela su una variabile javascript e per copiare di nuovo questa variabile sulla tela in un secondo momento?
Sarò felice se scriverò il codice perché non ho trovato alcuna buona spiegazione su Internet.
grazie,
Vuoi ripristinare l'immagine ingrandita, o come la dimensione o originariamente era? – Loktar
No, l'unico modo per "mantenere la qualità" su una bitmap è ridisegnarlo. Non c'è un modo magico di aggiungere pixel extra nella bitmap ingrandita senza effettivamente disegnare quei pixel. Se si desidera ingrandire e rimpicciolire mantenendo la nitidezza, utilizzare SVG (vettore) anziché Canvas (bitmap). – robertc
Ok, ho eseguito test delle prestazioni per tutti i metodi nelle risposte di seguito. Il drawImage() di un'altra tela sembra essere il più veloce: http://jsperf.com/canvas-image-store-restore – JustGoscha