在HTML5 Canvas上旋转图像

时间:2012-11-02 13:30:03

标签: javascript image css3 rotation

我有一个图像,我需要旋转到一个角度,然后在一个点上绘制到画布。我目前有这个:

var image = roach.image;
image.style.msTransform = 'rotate(' + roach.heading + 'deg)';
this.gameContext.drawImage(image, roach.position.x, roach.position.y);

我如何编辑它以使其工作,其中roach.heading是我的角度我想将其旋转到度数。

1 个答案:

答案 0 :(得分:1)

试试这个:

var image = roach.image,
    ctx = this.gameContext,
    widthHalf = Math.floor( image.width / 2 ),
    heightHalf = Math.floor( image.height / 2 );

ctx.save();

ctx.translate( roach.position.x, roach.position.y );
ctx.translate( widthHalf, heightHalf );
ctx.rotate( ( Math.PI / 180 ) * roach.heading );
ctx.drawImage( image, -widthHalf, -heightHalf );
ctx.restore();

jsfiddle:http://jsfiddle.net/PwzEc/