HTML canvas setTransform() 方法
定义和用法
画布上的每个对象都拥有一个当前的变换矩阵。
setTransform()
方法将当前的变换矩阵重置为单位矩阵,然后以相同的参数运行 transform().
换句话说,setTransform()允许您缩放、旋转、移动并倾斜当前的环境。
주의사항:这种变换只会影响setTransform()方法调用之后的绘图。
实例
绘制一个矩形,通过setTransform()重置并创建新的变换矩阵,再次绘制矩形,重置并创建新的变换矩阵,然后再次绘制矩形。请注意,每当您调用setTransform()时,它都会重置前一个变换矩阵然后构建新的矩阵,因此在下面的例子中,不会显示红色矩形,因为它在蓝色矩形下面:
JavaScript:
var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.fillStyle="yellow"; ctx.fillRect(0,0,250,100) ctx.setTransform(1,0.5,-0.5,1,30,10); ctx.fillStyle="red"; ctx.fillRect(0,0,250,100); ctx.setTransform(1,0.5,-0.5,1,30,10); ctx.fillStyle="blue"; ctx.fillRect(0,0,250,100);
문법
context.setTransform(a,b,c,d,e,f);
매개변수 값
매개변수 | 설명 |
---|---|
a | 수평 회전 그리기. |
b | 수평 기울기 그리기. |
c | 수직 기울기 그리기. |
d | 수직 축소 그리기. |
e | 수평 이동 그리기. |
f | 수직 이동 그리기. |
브라우저 지원
표에서의 숫자는 이 특성을 최초로 완전히 지원하는 브라우저 버전을 나타냅니다.
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
4.0 | 9.0 | 3.6 | 4.0 | 10.1 |
주의사항:Internet Explorer 8 이상의 버전은 <canvas> 요소를 지원하지 않습니다.