Canvas transform() 方法

定义和用法

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

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

a  c  e
b  d  f
0  0  1

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

Kweli:该变换只会影响 transform() 方法调用之后的绘图。

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

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

实例

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

Barua yako inasababu kusababu kwa kufikiria tabia ya 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);

Jifunze tena

Inasababu

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

Wagawizi wa makosa

Makosa Kielewa
a Ushambulizi wa picha wa ukubwa wa mabara.
b Ushambulizi wa picha wa ukubwa wa mitaani.
c Ushambulizi wa picha wa ukubwa wa mabara.
d Ushambulizi wa picha wa ukubwa wa mitaani.
e Ushambulizi wa picha wa ukubwa wa mabara.
f Ushambulizi wa picha wa ukubwa wa mitaani.

Muungano wa barua

Mafuatilia ya namba katika tabia hii inaonyesha na barua tofauti ya kwanza ya kusukumiza tabia hiyo.

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

Kweli:Internet Explorer 8 na vyombo vya viongozi vingine hawafikii elementi ya <canvas>.