konteksty Firefoksa Canvas 2D mają (niestandardowa) i mozCurrentTransform mozCurrentTransformWersja właściwości.
W WhatWG zdefiniowano teraz właściwości currentTransform i currentTransformInverse (pierwsza z nich jest nawet zapisywalna). Oto odpowiednia część specyfikacji:
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#transformations
Jednak te prawdopodobnie nie będą powszechnie wdrażane w przeglądarkach jeszcze przez jakiś czas, więc jeśli chcesz przenoszenia trzeba będzie spadać z powrotem do ręcznego śledzenia macierz jako @Dave i @James mówią.
Wydaje się, że każdy człowiek i jego pies napisał takie płótno-macierz transformacji-matrycy. Właśnie rzuciłem okiem na @Dave Lawrence; Myślę, że moja jest lepsza na kilka sposobów, chociaż jestem pewna, że pod wieloma względami jest gorsza.
- Kopalnia nie wymaga żadnych zmian w kodzie JS użytkownika - modyfikuje płótna i kontekstowych prototypy, więc wystarczy dodać skryptu tag i jesteś dobry, aby przejść.
- Przechwytuje ustawienie właściwości currentTransform.
- Próbuje tylko wykonać to, co musi.
Działa w najnowszych przeglądarkach Chrome i Firefox, ale nie testowałem jeszcze tego w IE.
kładę kopalnię w jsfiddle, z prostym demonstracji: http://jsfiddle.net/XmYqL/1/
o to blok kodu udobruchać stackoverflow więc pozwala mi link do jsfiddle (??):
code, code, wonderful code
I końcu się do przesyłania mój PolyFill do GitHub:
https://github.com/supermattydomain/canvas.currentTransform.js
wiem, że to nie jest doskonały, ale bardzo chciałbym, abyśmy wszyscy razem pracowali nad wdrożeniem One True Solution dla tego problemu. Nie obchodzi mnie, czy to moje, czy cudze. Ten kąt JavaScript/HTML5/Canvas jest zbyt podobny do Bałkanów: morze częściowych rozwiązań. Proszę, wszyscy, rozwidlenie kopalni, dodajcie swoje zmiany i wyślijcie mi prośby o odciąganie lub wyślijcie mi swój adres URL, abym mógł scalić twój kod lub zastąpić mój hurt hurtem swoim, czy czymkolwiek. To jest głupi problem, który chcę tylko przybić. Jeśli będziemy współpracować, możemy to zrobić.
dzięki. Dokładnie to robiłem, po prostu domyśliłem się, że robią to natywnie, a ja wykonuję operacje po prostu wykonuję pracę za darmo. –