摘要:在本教程中,您将学习如何使用 JavaScript rotate() 方法来旋转绘图对象。
JavaScript rotate() canvas API 简介
rotate() 是 2D 绘图上下文的 method。rotate() method 允许您在画布上旋转绘图对象。
以下是 rotate() method 的语法
ctx.rotate(angle)Code language: CSS (css)rotate() method 接受以弧度为单位的旋转角度。
如果角度为正,则旋转方向为顺时针。如果角度为负,则旋转方向为逆时针。
要将度数转换为弧度,可以使用以下公式
degree * Math.PI / 180Code language: JavaScript (javascript)添加旋转时,rotate() method 使用画布原点作为旋转中心点。
下图说明了旋转

如果要更改旋转中心点,需要使用 translate() method 移动画布原点。
JavaScript rotate() 示例
以下示例 从画布中心开始绘制一个红色矩形。然后将画布原点移动到画布中心,并以 45 度角绘制第二个矩形
HTML
<canvas id="canvas" height="300" width="500">
</canvas>Code language: HTML, XML (xml)JavaScript
const canvas = document.querySelector('#canvas');
if (canvas.getContext) {
// rectangle's width and height
const width = 150,
height = 20;
// canvas center X and Y
const centerX = canvas.width / 2,
centerY = canvas.height / 2;
const ctx = canvas.getContext('2d');
// a red rectangle
ctx.fillStyle = 'red';
ctx.fillRect(centerX, centerY, width, height);
// move the origin to the canvas' center
ctx.translate(centerX, centerY);
// add 45 degrees rotation
ctx.rotate(45 * Math.PI / 180);
// draw the second rectangle
ctx.fillStyle = 'rgba(0,0,255,0.5)';
ctx.fillRect(0, 0, width, height);
}Code language: JavaScript (javascript)输出

摘要
- 使用 JavaScript
rotate()method 在画布上旋转绘图对象。
本教程对您有帮助吗?