0

我的 SVG 中必须有相对坐标的模式有问题。起初,我使用了 patternContentUnits = "objectBoundingBox",这似乎适用于所有现代浏览器。但是,我想使用 Batik Rasterizer 允许用户将 SVG 转换为 PDF 和/或 PNG,而 Batik Rasterizer 似乎不支持 patternContentUnits = "objectBoundingBox for SVG 到 PDF 的转换。

<pattern id="Pattern2" x="0" y="0" width="1" height="1" patternContentUnits="objectBoundingBox">
<rect x="0.1" y="0" width="0.33" height="1" style="fill:rgb(39,80,215)"/>
<rect x="0.49" y="0" width="0.47" height="1" style="fill:rgb(11,198,221)"/>
</pattern>

作为替代方案,我发现了一个互联网帖子,其中他们使用 viewBox="0 0 1 1" preserveAspectRatio="none" 而不是 patternContentUnits = "objectBoundingBox"。该解决方案在 Chrome、IE9 以及 Batik Rasterizer (!) 中运行良好。但是,它在 Firefox (14) 中不起作用。

我在网上放了一个小例子:http: //mgcv.cmbi.ru.nl/example.svg
(第一个适用于 Chrome、IE9 和 Batik Rasterizer,但不适用于 FF14。第二个适用于 Chrome、IE9 和FF14 但不在 Batik Rasterizer 中(PDF 转换)

有人有建议吗?在我看来,应该可以让 viewbox 解决方案在 Firefox 中运行?

4

1 回答 1

0

这应该在当前处于Beta的 Firefox 17 中得到修复。有关详细信息,请参阅错误 773467错误 773595

于 2012-10-31T16:42:33.763 回答