Metoda transform() canvas HTML

Definicja i użycie

Każdy obiekt na płótnie ma bieżącą macierz transformacji.

transform() Metoda zastępuje bieżącą macierz transformacji. Operuje na bieżącej macierzy transformacji za pomocą macierzy opisanej poniżej:

a  c  e
b  d  f
0  0  1

Innymi słowy, transform() pozwala na skalowanie, obracanie, przesuwanie i pochylanie bieżącego środowiska.

Komentarz:Ta transformacja wpłynie tylko na rysowanie wykonane po wywołaniu metody transform().

Komentarz:Zachowanie metody transform() względem rotate(),scale(),translate() lub inne transformacje wykonane za pomocą transform(). Na przykład: jeśli już ustawisz rysowanie na dwukrotne powiększenie, metoda transform() powiększy rysowanie dwukrotnie, a Twoje rysowanie ostatecznie będzie powiększone czterokrotnie.

Wskazówka:Proszę zobaczyć setTransform() Metoda, która nie zachowuje się względem innych transformacji.

Przykład

Narysuj prostokąt; dodaj nową macierz transformacji za pomocą transform() i rysuj prostokąt ponownie; dodaj nową macierz transformacji i rysuj prostokąt ponownie. Proszę zauważyć, że za każdym razem, gdy wywołujesz transform(), buduje ona na poprzedniej macierzy transformacji:

Twoja przeglądarka nie obsługuje znacznika HTML5 canvas.

JavaScript:

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.fillStyle="yellow";
ctx.fillRect(0,0,250,100)
ctx.transform(1,0.5,-0.5,1,30,10);
ctx.fillStyle="red";
ctx.fillRect(0,0,250,100);
ctx.transform(1,0.5,-0.5,1,30,10);
ctx.fillStyle="blue";
ctx.fillRect(0,0,250,100);

Spróbuj sam

Gramatyka

context.transform(a,b,c,d,e,f);

Wartości parametrów

Parametry Opis
a Skalowanie poziome
b Nakładowanie poziome
c Nakładowanie pionowe
d Skalowanie pionowe
e Rysowanie poziome
f Rysowanie pionowe

Obsługa przeglądarek

Numer w tabeli wskazuje pierwszą wersję przeglądarki, która w pełni obsługuje tę właściwość.

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
4.0 9.0 3.6 4.0 10.1

Komentarz:Przeglądarki Internet Explorer 8 i wcześniejsze wersje nie obsługują elementu <canvas>.