拉斐尔变换重置我的规模

时间:2014-08-03 22:52:13

标签: javascript svg raphael

我的onload中有以下rapheal javascript

var cmdShapeString = "M 0 0 l 20 0 2 5 10 0 2 -5 100 0 0 30 -100 0 -2 5 -10 0 -2 -5 -20 0z";
var R = Raphael("toolbox");
var path = R.path(cmdShapeString) ;
path.attr({stroke:"#777777", fill: "#CCCCCC"});
path.scale(0.5);    
//path.attr({x:-100, y: 0}); //Has no effect
path.transform("T"+0+","+0); //Resets the scale back to 1.0???

最初在屏幕上绘制路径时,它会在0,0处绘制 start

然后我将它缩放到一半大小并跳到左边。

enter image description here

然后我尝试用path.transform将其恢复到0,0,这会将比例重新设置为1.0。 enter image description here

尝试使用attr设置x和y绝对没有效果。

这里发生了什么?我做错了什么?

1 个答案:

答案 0 :(得分:0)

path.scale(0.5);实际上是path.transform('S0.5');的简写(或者可能是小写,我没有检查。

因此,一旦您知道了这一点就会覆盖转换属性并不令人惊讶......

path.transform("T"+0+","+0); //Resets the scale back to 1.0???

幸运的是raphael documentation中有一种解决方法。使用t而不是T

path.transform("t"+0+","+0);