画布旋转无法正常工作

时间:2013-03-23 20:33:14

标签: javascript canvas rotation html5-canvas

我在尝试通过JavascriptCanvas API旋转矩形时遇到了麻烦。

以下是代码:

G = {};
// get canvas context
G.ctx = document.getElementById('canvas').getContext('2d');

var x = 200;
var y = 100;
var w = 30;
var h = 70;

G.ctx.fillRect(x, y, w, h);

// Why is this not working??
G.ctx.save();
G.ctx.translate(x, y);
G.ctx.rotate(30*(Math.PI/180));
G.ctx.fillRect(x, y, w, h);
G.ctx.restore();

代码仅出于某种原因绘制第一个矩形。

这是JSfiddle:http://jsfiddle.net/5YZbd/1/

非常欢迎任何澄清!

1 个答案:

答案 0 :(得分:4)

我明白了。

只要我将画布转换为矩形的x / y - 它的位置应该被称为0/0,因此画布原点位于翻译之后。

以下是工作代码:

G.ctx.save();
G.ctx.translate(x, y);
G.ctx.rotate(30*(Math.PI/180));
G.ctx.fillRect(0, 0, w, h);
G.ctx.restore();
相关问题