HTML canvas transform() 方法

定义和用法

画布上的每个对象都拥有一个当前的变换矩阵。

transform() 方法替换当前的变换矩阵。它以下面描述的矩阵来操作当前的变换矩阵:

a  c  e
b  d  f
0  0  1

换句话说,transform() 允许您缩放、旋转、移动并倾斜当前的环境。

ਟਿੱਪਣੀ:该变换只会影响 transform() 方法调用之后的绘图。

ਟਿੱਪਣੀ:transform() 方法的行为相对于由 rotate()scale()translate() 或 transform() 完成的其他变换。例如:如果您已经将绘图设置为放到两倍,则 transform() 方法会把绘图放大两倍,您的绘图最终将放大四倍。

提示:请查看 setTransform() 方法,它不会相对于其他变换来发生行为。

实例

绘制一个矩形;通过 transform() 添加一个新的变换矩阵,再次绘制矩形;添加一个新的变换矩阵,然后再次绘制矩形。请注意,每当您调用 transform() 时,它都会在前一个变换矩阵上构建:

Your browser does not support the HTML5 canvas tag.

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

ਸਵੈ ਮੈਂ ਕਰਾਂ

ਗਰੰਥ

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

ਪੈਰਾਮੀਟਰ ਮੁੱਲ

ਪੈਰਾਮੀਟਰ ਵਰਣਨ
a ਹੌਰਿਜ਼ਨਟਲ ਸਕੇਲਿੰਗ ਗਰਾਫਿਕਸ
b ਹੌਰਿਜ਼ਨਟਲ ਸਲੈਨਿੰਗ ਗਰਾਫਿਕਸ
c ਊਰਧਰਾਸਥਿਤੀ ਸਲੈਨਿੰਗ ਗਰਾਫਿਕਸ
d ਊਰਧਰਾਸਥਿਤੀ ਸਕੇਲਿੰਗ ਗਰਾਫਿਕਸ
e ਹੌਰਿਜ਼ਨਟਲ ਗਰਾਫਿਕਸ ਮੋਵਮੈਂਟ
f ਊਰਧਰਾਸਥਿਤੀ ਗਰਾਫਿਕਸ ਮੋਵਮੈਂਟ

ਬਰਾਉਜ਼ਰ ਸਪੋਰਟ

ਸਾਰੇ ਨੰਬਰ ਸਾਰੇ ਅਤੇਰੀ ਸਮਰਥਨ ਕਰਨ ਵਾਲੇ ਬਰਾਉਜ਼ਰ ਦੀ ਪਹਿਲੀ ਸੰਸਕਰਣ ਦਾ ਸੂਚਕ ਹਨ。

ਚਰਮੋਇਨ ਐਜ਼ ਫਾਇਰਫਾਕਸ ਸੈਫਾਰੀ ਓਪਰਾ
ਚਰਮੋਇਨ ਐਜ਼ ਫਾਇਰਫਾਕਸ ਸੈਫਾਰੀ ਓਪਰਾ
4.0 9.0 3.6 4.0 10.1

ਟਿੱਪਣੀ:Internet Explorer 8 ਅਤੇ ਉਸ ਤੋਂ ਪਹਿਲਾਂ ਦੀਆਂ ਸ਼ੈੱਡਵਰਕਾਂ <canvas> ਐਲੀਮੈਂਟ ਨੂੰ ਸਪੋਰਟ ਨਹੀਂ ਕਰਦੀਆਂ ਹਨ。