Método HTML canvas transform()

❮ Referência de tela HTML

Exemplo

Desenhe um retângulo, adicione uma nova matriz de transformação com transform(), desenhe o retângulo novamente, adicione uma nova matriz de transformação e desenhe o retângulo novamente. Observe que cada vez que você chama transform(), ele se baseia na matriz de transformação anterior:

Seu navegador não suporta a tag HTML5canvastag.

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);

Suporte ao navegador

Os números na tabela especificam a primeira versão do navegador que oferece suporte total ao método.

Method
transform() Yes 9.0 Yes Yes Yes

Definição e uso

Cada objeto na tela tem uma matriz de transformação atual.

O método transform() substitui a matriz de transformação atual. Ele multiplica a matriz de transformação atual com a matriz descrita por:

uma c e
b d f
0 0 1

Em outras palavras, o método transform() permite dimensionar, girar, mover e inclinar o contexto atual.

Nota: A transformação só afetará os desenhos feitos depois que o método transform() for chamado.

Nota: O método transform() se comporta relativamente a outras transformações feitas por rotate(), scale(), translate() ou transform(). Exemplo: Se você já configurou seu desenho para dimensionar em dois, e o método transform() dimensiona seus desenhos em dois, seus desenhos agora serão dimensionados em quatro.

Dica: Confira o método setTransform() , que não se comporta em relação a outras transformações.

Sintaxe JavaScript: contexto .transform( a,b,c,d,e,f );

Valores de parâmetro

Parameter Description Play it
a Horizontal scaling
b Horizontal skewing
c Vertical skewing
d Vertical scaling
e Horizontal moving
f Vertical moving

❮ Referência de tela HTML