我正在尝试创建一个动画,其中画布中间的图像必须旋转 360 度,同时保持画布上的其他对象静止,基本上我想给图像提供类似风扇的旋转效果,但它不起作用我的情况。按照我正在使用的代码片段。
假设画布大小为 400 x 200
var surface;
var img = new Image();
var angle = 0;
img.src = "images/teddy.png";
surface = document.getElementById("canvas");
var ctx = surface.getContext('2d');
// Clear the canvas to White
ctx .fillStyle = "rgb(255,255,255)";
ctx .fillRect(0, 0, surface.width, surface.height);
// Save the current context
ctx .save();
// Translate to the center point of our image
ctx .translate(happy.width * 0.5, happy.height * 0.5);
ctx .rotate(DegToRad(angle,surfaceContext)); //calling function here
ctx .translate(-(happy.width * 0.5), -(happy.height * 0.5));
ctx .drawImage(happy, 200, 100);
angle++;
ctx.restore();
上面的代码是使用 setInterval(loop, 10); 调用的。
它在 x 轴上 200px 的位置上以 100px 的直径旋转图像,但我想要的是图像应该继续在其当前位置旋转
我是 HTML5 新手,所以请耐心等待 :)
谢谢~西默