【发布时间】:2020-05-02 08:35:33
【问题描述】:
我目前正在模糊图像,并在包含图像时将其用作背景。
我正在使用以下 svg 过滤器,过滤器使用feGaussianBlur 和feColorMatrix 分两步展开。这在 Chrome 中完美呈现,但在 Safari 和移动浏览器中,我看到了奇怪的伪影。
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<filter
id="blurry"
width="150%"
height="150%"
x="-25%"
y="-25%"
colorInterpolationFilters="sRGB"
>
<feGaussianBlur stdDeviation="45" />
<feColorMatrix
type="matrix"
values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 10 0"
/>
<feGaussianBlur stdDeviation="45" />
<feColorMatrix
type="matrix"
values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 10 0"
/>
<feComposite in2="SourceGraphic" operator="in" />
</filter>
</svg>
然后在我的 CSS 中使用:
-webkit-filter: url('#blurry');
filter: url('#blurry');
想要的结果(在桌面上):
我得到的结果:
它显示了这些奇怪的差距..
我注意到的一些事情:
- 更改过滤器大小和位置不起作用
- 在某些图像上我看不到这些人工制品
- 更改过滤器
stdDeviation不起作用
这可能与我的图像分辨率有关吗?
【问题讨论】:
-
你的图片有什么问题?如果没有它应该是什么样子的例子,就不清楚了。您能否发布显示问题的原始 SVG(或必要时缩减的 SVG)?
-
是的,@PaulLeBeau
标签: css svg svg-filters gaussianblur