SVG模式:使用视图框的相对坐标。 firefox中的问题

时间:2012-10-31 16:14:33

标签: design-patterns svg

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

<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转换))

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

1 个答案:

答案 0 :(得分:0)

这应该在Firefox 17中修复,目前位于Beta。有关详细信息,请参阅bug 773467bug 773595