Javascript Raphael.js中的缩放和旋转

Javascript Raphael.js中的缩放和旋转,javascript,raphael,Javascript,Raphael,我不明白Raphael.js转换函数是如何工作的。我有以下代码: var paper = new Raphael(0,0,1000,1000); var rect = paper.rect(0,0,40,40); rect.transform("s2,2,0,0t30,30"); 转换的结果是在每个轴上移动60像素,而不是30像素。为什么缩放会影响传输?例如 var rect = paper.rect(0,0,40,40); rect.transform("s2,2,0,0t30,30");

我不明白Raphael.js转换函数是如何工作的。我有以下代码:

var paper = new Raphael(0,0,1000,1000);
var rect = paper.rect(0,0,40,40);
rect.transform("s2,2,0,0t30,30");
转换的结果是在每个轴上移动60像素,而不是30像素。为什么缩放会影响传输?

例如

var rect = paper.rect(0,0,40,40);
rect.transform("s2,2,0,0t30,30");
在功能上等同于以下SVG标记(尽管这实际上不是raphael将生成的)


因此,从内部到外部,我们从x1,y1,x2,y2=0,0,30,30的矩形开始,这是一个翻译的
将其移动到30,30,60,60,然后是一个缩放的
将结果缩放到60,60,120,120,即60像素的翻译

var rect = paper.rect(0,0,40,40);
rect.transform("s2,2,0,0t30,30");
在功能上等同于以下SVG标记(尽管这实际上不是raphael将生成的)



所以从内部到外部,我们从x1,y1,x2,y2=0,0,30,30的一个矩形开始,它在一个翻译的
中移动到30,30,60,60,然后在一个缩放的
中,它将结果缩放到60,60,120,120,即60像素的平移。

T忽略之前的任何缩放。请参见T忽略以前的任何缩放。看见