我想移动一个 RaphaelElement 并创建一个简单的测试用例:
var paper = Raphael(0, 0, 500, 500);
var rect = paper.rect(50, 50, 100, 100);
rect.attr("fill", "blue");
rect.matrix.translate(300, 300);
但是矩形没有移动。起初我认为矩阵可能没有正确更新并尝试了这个:
//...
alert("" + rect.matrix.x(0,0)); // prints 0
rect.matrix.translate(300, 300);
alert("" + rect.matrix.x(0,0)); //prints 300
显然矩阵发生了变化,但矩形并不关心这一点。因此,我将代码更改为:
rect.matrix=rect.matrix.translate(300,300);
但这要么使程序崩溃,要么根本没有效果。似乎我缺少某种更新方法,将矩阵应用于 RaphaelElement。看起来像这样的东西:
rect.updateMatrix();
我在文档中搜索过,但没有找到这样的方法。RaphaelJs 中矩阵的规范用法是什么?