Ponieważ metoda translacji HTML5 przesuwa początkowo pochodzenie rysunku w stosunku do poprzedniego pochodzenia. (Kiedy używam ctx.translate (20,20) dwa razy z rzędu, otrzymuję taki sam wynik, jak gdy używam ctx.translate (40,40)) Teraz problem polega na tym, że chciałbym zresetować pochodzenie rysunku do jego pierwotnego położenia (położenia, jakie miał przed pierwszym użyciem translate() na nim), jak mam to zrobić?HTML5 tłumaczyć metodę, jak przywrócić domyślne?
15
A
Odpowiedz
35
ctx.setTransform(1, 0, 0, 1, 0, 0);
46
Można to zrobić za pomocą .save()
i .restore()
ctx.save();
ctx.translate(// do some translations);
// draw whatever
ctx.restore();
Trzeba zadzwonić save()
na "zapisz" aktualny stan kontekstach. Następnie możesz wykonywać tłumaczenia, obracania itp. Po zakończeniu połączenia restore()
, aby zresetować stan kontekstu do stanu, który był początkowo nazywany save()
.
2
ctx.resetTransform();
Zobacz MDN documentation aby uzyskać więcej informacji. Ma bardzo niską kompatybilność z przeglądarką.
+0
Tak, też się z tym spotkałem, całkiem fajnie. +1 – Loktar
Powiązane problemy
- 1. przywrócić domyślne atrybuty css
- 2. Jak przywrócić domyślne tło przycisku (programowo)?
- 3. Jak tłumaczyć parabolicznie?
- 4. Jak tłumaczyć aplikację GTK +?
- 5. Jak tłumaczyć alignof na Delphi?
- 6. Jak tłumaczyć nazwy języków CultureInfo
- 7. Jak tłumaczyć nazwę szablonu WordPress?
- 8. gra framework 2.0 - internacjonalizacja - jak tłumaczyć wiadomość
- 9. Pytanie o metodę ActiveRecord # default_scope i domyślne zamawianie
- 10. tłumaczyć wiadomość start Matlab
- 11. tłumaczyć pustym ciągiem
- 12. jak zapobiec domyślnemu naciśnięciu klawisza dla określonego zdarzenia, a następnie przywrócić domyślne ustawienie ponownie
- 13. Jak zastąpić domyślne zamknięcie okna?
- 14. Jak tłumaczyć shift/reset na delimcc?
- 15. Jak tłumaczyć weryfikację modelu aktywnego rekordu
- 16. Jak tłumaczyć grupę SVG przez procent widoczności
- 17. Jak mogę tłumaczyć wyjście filtru w Django
- 18. Jak tłumaczyć model w przestrzeni nazw?
- 19. Jak tłumaczyć funkcję array_agg PostgreSQL na SQLite?
- 20. Jak przywrócić stronę powitalną Eclipse?
- 21. jQuery: jak przywrócić dołączany elementu
- 22. Jak przywrócić okno z Xlib?
- 23. Jak przywrócić zasoby zasobnika kopii?
- 24. Jak przywrócić usuniętą aplikację Facebook?
- 25. Jak przywrócić Mercurial hg pull?
- 26. Jak przywrócić lokalnie usunięty folder?
- 27. Jak zapisać i przywrócić formularz?
- 28. Jak przywrócić uszkodzone repozytorium git?
- 29. Jak przywrócić plik w CVS?
- 30. Jak przywrócić funkcjonalność indeksowania? (Xcode)
Dokładnie to, czego szukałem. 'ctx.setTransform (1, 0, 0, 1, 0.5, 0.5);' i nigdy nie martw się resetowaniem transformacji. – Nolonar
Chociaż to działa, odpowiedź @Loktar powinna być zaakceptowana jako najlepsza: http://stackoverflow.com/a/11144306/1866876 – viarnes
Jeśli chcesz tylko cofnąć pojedynczą partię tłumaczeń z powrotem do domyślnej (nieprzetworzonej) przestrzeni, wtedy 'setTransform (1,0,0,1,0,0)' jest lepsze niż 'save & restore', ponieważ save/restore działa na każdej właściwości context zamiast tylko transformacji. – markE