2011-05-03 21 views
2

在SVG中,可以定义可用作路径填充的模式。举个例子,我的意思是你可以检查这个链接:SVG pattern example。不幸的是SVG在Internet Explorer的旧版本中不可用,所以我必须在那里使用VML。VML替代SVG模式(可能使用Raphael JS)

为了让我的生活更轻松一点,我使用Rapha ë l JS(更具体一点,我使用的是基于Rapha ë l的ExtJS 4.0的绘图包),所以我不必担心关于SVG和VML的区别。

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

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

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

编辑:对于访问我的文章的人:我得出的结论是,我上面描述的是不可能的。 VML中唯一可能的图案化是使用fill element平铺图像。矢量形状的图案在VML中是不可能的。

+0

你是说你想在VML形状中使用SVG图像吗? – brianpeiris 2011-05-05 06:42:18

+0

不,这不是我的意思,我很抱歉不清楚。我想要的是使用VML形状的图案作为VML形状的背景,正如可以使用SVG形状(在图案中定义)作为SVG形状的填充一样。 – standardModel 2011-05-05 09:55:09

回答

0

我用这个方法:

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