是否有类似于popMatrix() - raphael.js的pushMatrix()?

时间:2015-01-09 12:12:02

标签: javascript web-applications matrix raphael

我正在学习Javascript / Raphael并陷入了应该是非常简单的解决方案。我需要用鼠标移动和旋转一些数字,但当我旋转它们时(双击):

rect1.dblclick(function() {
    this.rotate('90');
});

我用来跟踪鼠标的参考点也会被旋转。在Processing中我会使用pushMatrix()和popMatrix(),但我找不到类似Raphael的东西,也没有使用save()和restore()画布的任何简单例子(...不确定它们是否可以在这里使用)

这是working example

var canvas = document.getElementById("the_canvas");
var paper = Raphael(canvas, '500', '500');

var rect1 = paper.rect(380,10,100,50).attr({fill: '#ddd', 'stroke': 'none', opacity: '0.8'});

var startX, startY;
function onstart() {
    startX = this.attr('x');
    startY = this.attr('y');
}
function onend() {
}

function onmove(dx, dy) {
    this.attr({
        x: startX + dx,
        y: startY + dy
    }); 
}
rect1.drag(onmove, onstart, onend);

//// ... problem here
rect1.dblclick(function() {
    this.rotate('90');
});

干杯,

0 个答案:

没有答案