3

Raphael(用于处理 SVG 的 JavaScript 库)中,您可以对元素应用转换,例如旋转、平移和缩放。

因此,假设我想制作一条 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 中都遇到了同样的问题。

这是我在 jsFiddle 上遇到的问题的一个例子。如您所见,旋转和平移工作正常,但缩放却不行。

任何想法出了什么问题?

4

1 回答 1

2

不知何故,应用变换将笔画宽度更改为 NaN。也许这是一个错误。不过,您可以使用矩阵变换来应用变换。

于 2012-07-22T07:02:22.087 回答