菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Canvas transform() 方法

❮ Canvas 参考

示例

绘制一个矩形,然后使用 transform() 添加一个新的变换矩阵,再次绘制矩形,再添加一个新的变换矩阵,然后再次绘制矩形。请注意,每次调用 transform() 都会在前一个变换矩阵的基础上进行叠加。

您的浏览器不支持 HTML5 canvas 标签。

JavaScript

const canvas = document.getElementById("myCanvas");
const ctx = canvas.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);
自己动手试一试 »


描述

transform() 方法可以对画布上下文进行缩放、旋转、移动和倾斜。

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

transform() 方法会替换掉当前的变换矩阵,并将其与由以下参数描述的矩阵相乘:

a c e
b d f
0 0 1

注意

变换会影响 `transform()` 方法调用之后进行的绘图操作。

变换是相对于其他的 rotate()、scale()、translate() 或 transform() 变换而言的。如果您先将图形放大两倍,然后再次调用 transform() 将其放大两倍,那么图形最终会被放大四倍。

另请参阅

scale() 方法(缩放上下文)

rotate() 方法(旋转上下文)

translate() 方法(重新映射 0,0 位置)

setTransform() 方法(缩放、旋转、移动、倾斜上下文)。


语法

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

参数值

参数 描述 试一试
a 水平缩放图形 试一试 »
b 水平倾斜图形 试一试 »
c 垂直倾斜图形 试一试 »
d 垂直缩放图形 试一试 »
e 水平移动图形 试一试 »
f 垂直移动图形 试一试 »

返回值


浏览器支持

<canvas> 元素是 HTML5 标准(2014)。

transform() 在所有现代浏览器中都受支持。

Chrome Edge Firefox Safari Opera IE
9-11

❮ Canvas 参考
×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持