在 SVG 中,可以定义可用作路径填充的图案。有关我的意思的示例,您可以查看此链接:SVG pattern example .不幸的是,SVG 在旧版本的 Internet Explorer 中不可用,所以我必须在那里使用 VML。
为了让我的生活更轻松一些,我使用了 Raphaël JS(更具体地说,我使用了基于 Raphaël 的 ExtJS 4.0 的绘图包),所以我不必担心 SVG 之间的差异和 VML。
但是,Raphael JS 没有提供定义模式和使用模式的方法,所以我必须手动完成。在 SVG 中,这不是什么大问题,但在 VML 中,我找不到创建模式并将其用作路径(重复)背景的方法。
我发现最接近的是使用图像作为路径背景的能力,如所述here on MSDN .问题是我想用重复的矢量图像填充路径,这样我就可以缩放它并且仍然让它看起来不错。
如能为我指明解决此问题的正确方向,我们将不胜感激。
编辑: 对于访问我帖子的人:我得出的结论是我上面描述的是不可能的。 VML 中唯一可能的图案是平铺图像,使用 fill element . VML 中不可能由矢量形状构成的图案。
最佳答案
我正在使用这种方法:
1- 使用要填充的路径的路径元素(非矩形)创建边界框。 2- 将“z”和要填充的路径的路径字符串附加到边界框路径字符串。这将创建一个裁剪矩形。 3- 使用 javascript 在裁剪后的矩形后面重复模式。
关于javascript - VML 替代 SVG 模式(可能使用 Raphael JS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5876437/