javascript - VML 替代 SVG 模式(可能使用 Raphael JS)

标签 javascript svg raphael vml

在 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/

相关文章:

graph - raphael js 和实时图

javascript - 如何在 Raphael js 中画一条线到屏幕(浏览器)的边缘?

javascript - jsPDF Autotable 在每个表格上方添加标题

c# - 数据未加载到网格中(此错误的发生不一致)

javascript - range.insertNode() 没有按预期插入文本节点

css - 如何获得用作背景图像的旋转线性渐变 svg?

javascript - RaphaelJS 中对象的渐变透明度

javascript - 想在同一页面的 d3 中为不同的数据集生成多个图表

text - D3.js 如何在路径上旋转文本

javascript - SVG 和响应问题