如何在缩放后在Raphael中应用(或维护)线条样式?

时间:2012-07-22 02:44:49

标签: javascript svg raphael

Raphael(用于处理SVG的JavaScript库),you can apply transformations to an element,例如轮播,翻译和缩放。

所以我想说我想制作一个8像素宽的线。我可以这样做:

paper = new Raphael(0, 0, 200, 200);
paper.path("M 0,0 l 200,200").attr({"stroke-width": "8px"});

但是,如果我想以某种方式缩放该行,我将失去8像素宽度,并回落到标准的1像素宽度。

paper.path("M 0,0 l 200,200").attr({"stroke-width": "8px"}).transform("s -1,1");

无论我做什么,我似乎无法制作任何保持其笔画宽度的缩放线。其他转换工作正常。这似乎只是缩放有这个问题。我在Firefox和Chrome中都遇到了同样的问题。

Here is an example of my problem on jsFiddle.正如您所看到的,旋转和平移工作正常,但缩放不会。

任何想法出了什么问题?

1 个答案:

答案 0 :(得分:2)

以某种方式应用变换会将笔画宽度更改为NaN。也许这是一个错误。您可以使用matrix transform来应用转换。