【发布时间】:2022-08-08 16:05:33
【问题描述】:
我刚刚意识到如果角度低于0.014 度,Chrome(Edge)也不会执行画布旋转ctx.rotate()。它在 Firefox (Windows 10) 上运行良好。
任何解决方法的想法?我在设计中使用 0.01 度。使用更大的角度不是一种选择,因为它会改变设计。
const canvas = document.querySelector(\'canvas\'), ctx = canvas.getContext(\'2d\');
let cw = canvas.width = canvas.height = 600;
ctx.fillStyle = \'#000000\'; ctx.fillRect(0, 0, cw, cw);
let angle = 0.01;
for (let i = 1; i <= 5000; i++) {
ctx.translate(cw / 2, cw / 2); ctx.rotate(angle * Math.PI / 180); ctx.translate(-cw / 2, -cw / 2);
ctx.beginPath();
ctx.moveTo(100, 200);
ctx.lineTo(500, 200);
ctx.lineWidth = 10;
ctx.strokeStyle = \'#FFFFFF\';
ctx.stroke();
}
<canvas></canvas>
标签: javascript canvas rotation