用Raphael.js转换

时间:2012-09-21 11:33:24

标签: raphael transform glow

我画了两条路。我已经对其中一个应用了发光,当我变换该组时,只有没有发光的路径移动而发光的路径不移动,而是“发光”变换。我希望路径和光芒一起变换。我怎样才能做到这一点? 我希望我能正确解释我的问题。

这是我的代码:jsfiddle Link

window.onload = function(){

var paper = Raphael(0,0,1900,950);

var rect01 = paper.set();
rect01.push(
paper.rect(20,30,10,15).attr({fill:'blue',stroke:'none'}).glow({width:5,opacity:1,color:'red'}),    
paper.rect(50,30,10,15).attr({fill:'green',stroke:'none'})
)

var superset = paper.set();
superset.push(rect01);
superset.transform("T10,10");
}

1 个答案:

答案 0 :(得分:1)

这只是你如何构建你的设置的问题。大多数元素函数返回对正在修改的元素的引用,但glow是一个例外 - 它为发光效果本身返回一个新的set元素。在上面的代码中,您实际上是为第一个矩形和第二个矩形插入辉光,而不是第一个矩形本身。

为了保持代码的紧凑性,我建议您使用papersetStartpapersetFinish来构建您的代码。

var rect01 = paper.set();

paper.setStart();      

paper.rect(20,30,10,15).attr({fill:'blue',stroke:'none'}).glow({width:5,opacity:1,color:'red'});    
paper.rect(50,30,10,15).attr({fill:'green',stroke:'none'});

var rect01 = paper.setFinish();  // gets a reference to a set containing everything created since the setStart call above