Safari svg高斯模糊(feGaussianBlur)不会使stdDeviation小于1?

时间:2015-03-13 16:01:57

标签: svg safari webkit svg-filters

我正在渲染的复杂徽标显示了不同形状之间的文物。 这些不是艺术品中的间隙,而是混叠工件。

我找到了一个很好的解决方案,用于去除这些伪像,掩盖对象并应用具有低stdDeviation值(0.125)的非常轻微的高斯模糊(feGaussianBlur)。

Chrome,Firefox甚至IE显示效果都很好。然而,桌面Safari(8.0)似乎总是将模糊处理为好像值至少为1px(或者看起来似乎如此),使得它太模糊,不能成为徽标的可接受表示。

有没有办法让safari支持的值介于0和1之间?

2 个答案:

答案 0 :(得分:2)

我发现将模糊的stdDeviation设置为0在所有浏览器中都有所需的效果。 Safari需要将颜色插值滤镜设置为" sRGB" (其他浏览器默认为:SVG gaussian blur in Safari unexpectedly lightens image)。

在这里,我结束了,似乎一直工作,但我们现在要使用png并补偿hi DPI设备:

    <filter id="blur" x="0%" y="0%" width="100%" height="100%" color-interpolation-filters="sRGB">
        <feGaussianBlur in="SourceGraphic" stdDeviation="0" />
   </filter>

答案 1 :(得分:0)

你可以使用<feComponentTransfer>feFuncA>元素调整模糊。下面的内容会收紧你的模糊,但如果没有隐藏你的文物,可以使用tableValues数组。

<feComponentTransfer >
   <feFuncA type="table" tableValues="0 0 0.5 1"/>
</feComponentTransfer>