旋转用javascript制作的图像

旋转用javascript制作的图像,javascript,image-rotation,Javascript,Image Rotation,我想在javascript中旋转一个图像。javascript中用于图像的变量是海洛因图像。我使用的是jquery rotate,它只有在html中旋转图像时才能正常工作,而不是在javascript中。通常它看起来像这样 $("#image").rotate(angle); 但这只适用于用html创建的图像 这是我目前使用的代码的一部分 var heroImage = new Image(); heroImage.src = "images/hero.png"; 如果有帮助的话,它是用帆布

我想在javascript中旋转一个图像。javascript中用于图像的变量是海洛因图像。我使用的是jquery rotate,它只有在html中旋转图像时才能正常工作,而不是在javascript中。通常它看起来像这样

$("#image").rotate(angle);
但这只适用于用html创建的图像

这是我目前使用的代码的一部分

var heroImage = new Image();
heroImage.src = "images/hero.png";
如果有帮助的话,它是用帆布画的。问题是#image只能引用html div元素afaik。。 我不想要的答案是:

$("#image").rotate(angle);
因为这只适用于html图像

这是一个游戏,所以一切都必须在javascript中,任何与css相关的东西似乎都不起作用。
它还必须与IE9兼容

您可以在画布上绘制它,然后在画布上旋转场景

ctx.translate(canvas.width / 2, canvas.height / 2);
ctx.rotate(Math.PI / 4);
或者,使用CSS3变换旋转整个画布

document.getElementById('#canvas').style.webkitTransform = "rotate(45deg)";

您可以将CSS3用于此作业

img.rotated {
    transform: rotate(30deg);
}
例如,您可以查看FontAwesome的CSS

如果您使用javascript,则可以通过JS使用更改CSS

document.getElementById('img.rotated').style.transform = rotate(30deg);

首先将“id”属性添加到图像

heroImage.id = 'image';
并为“图像”添加css,如下所示

$('#image').css('transform', 'rotate('+angle+'deg)');

就画吧?谢谢,我从这个链接中学到了很多!这将旋转所有东西,而不是一个特定的对象。当你重置转换以绘制其他东西时不会旋转…这很有趣,我来看看它;角度=45;我像你说的那样添加了css,但它在这里似乎不起作用。如果写入hegomage.id='image';由于img没有任何有效的称为angle的属性,因此它将被转换为heroMage.src='images/hero.png'。通过添加css,如$('#image').css('transform','rotate(90度));在本例中,它附加到硬编码的角度值。要使其动态化,请使用代码this$('#image').css('transform','rotate('+angle+'deg'));其中“angle”是一个变量。不是document.getElementById('img.rotated')指的是html分区?它使用JS修改DOM树的CSS样式。HTML只是定义DOM.ctx.translate(canvas.width/2,canvas.height/2)的一种方法;ctx.旋转(数学PI/4);将旋转一切。不仅仅是一张照片/object@none:您只需使用不同的变换即可绘制其他对象