改变raphael js路径的规模

dbe*_*eja 1 svg raphael

我正在尝试使用多条路径缩放raphael纸张,但它不能正确缩放.有些部分比其他部分小.例如,如果我试图扩展老虎的例子(http://raphaeljs.com/tiger.html),老虎不能正确扩展,只有老虎的某些部分.

谢谢!

这是我正在使用的代码:

<html>
<head>
<script src="raphael-min.js" type="text/javascript" charset="utf-8"></script>
<script src="tiger.js" type="text/javascript" charset="utf-8"></script>

<script>
    window.onload = function () {
        var r = Raphael(tiger).scale(0.5,0.5);
    };
</script>
</head>
<body>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Fla*_*SFX 9

Paper对象没有缩放方法,因此您必须遍历纸张上的所有对象才能缩放它们.我还发现每个对象的缩放与使用转换的效果不同:

window.onload = function () {
  var paper = Raphael(tiger);
  var tfm = 'S0.5,0.5,0,0';

  paper.forEach(function(obj){
   obj.transform(tfm);
  });
};
Run Code Online (Sandbox Code Playgroud)

  • 如果将这些形状放在`Paper.set()`中然后更改设置转换,则无需遍历所有形状,例如:`var set = paper.set([myCircle,myRect,...等等]); set.transform("t100 0");`并且,为了"缩放"Paper对象,你可以使用`Paper.setViewBox()`方法. (2认同)