2

在 SVG 中,可以定义可用作路径填充的图案。有关我的意思的示例,您可以查看此链接:SVG 模式示例。不幸的是,SVG 在旧版本的 Internet Explorer 中不可用,所以我必须在那里使用 VML。

为了让我的生活更轻松,我使用 Raphaël JS(更具体地说,我使用基于 Raphaël 的 ExtJS 4.0 的 draw 包),所以我不必担心 SVG 和 VML 之间的差异。

然而,Raphael JS 没有提供定义模式和使用它们的方法,所以我必须手动完成。在 SVG 中,这不是什么大问题,但在 VML 中,我找不到创建模式并将其用作路径的(重复)背景的方法。

我发现的最接近的东西是能够使用图像作为路径的背景,如MSDN 上所述。问题是我想用重复的矢量图像填充路径,所以我可以缩放它并且仍然让它看起来不错。

任何帮助指出我解决这个问题的正确方向将不胜感激。

编辑:对于访问我的帖子的人:我得出的结论是,我上面描述的内容是不可能的。VML 中唯一可能的图案是使用填充元素平铺图像。在 VML 中不可能出现由矢量形状构成的图案。

4

1 回答 1

0

我正在使用这种方法:

1-使用要填充的路径的路径元素(不是矩形)创建一个边界框。2-将“z”和要填充的路径的路径字符串附加到边界框路径字符串。这将创建一个剪裁的矩形。3- 使用 javascript 在剪切的矩形后面重复模式。

于 2011-06-15T07:00:21.267 回答