在SVG中,可以定义一个可用作路径填充的模式。有关我的意思的示例,您可以查看以下链接:SVG pattern example。不幸的是,SVG在旧版本的Internet Explorer中不可用,所以我必须在那里使用VML。
为了让我的生活更轻松一点,我使用RaphaëlJS(更具体地说,我使用ExtJS 4.0的绘图包,它基于Raphaël),所以我不必担心SVG之间的差异和VML。
然而,Raphael JS并没有提供一种定义模式和使用它们的方法,所以我必须手工完成。在SVG中,这不是什么大问题,但在VML中我找不到创建模式的方法并将其用作路径的(重复)背景。我发现最接近的是能够使用图像作为路径的背景,如here on MSDN所述。问题是我想用重复的矢量图像填充路径,所以我可以缩放它并使它看起来很漂亮。
任何帮助我指出正确的方向来解决这个问题都将非常感激。
编辑:对于访问我帖子的人:我得出结论,我上面描述的内容是不可能的。 VML中唯一可能的模式是使用fill element平铺图像。在VML中无法使用矢量形状制作图案。
答案 0 :(得分:0)
我正在使用这种方法:
1-创建一个边界框,其中包含要填充的路径的路径元素(不是矩形)。 2-将“z”和要填充的路径的路径字符串附加到边界框路径字符串。这将创建一个剪切的rect。 3-使用javascript在剪切的矩形后面重复模式。