Safari和移动浏览器中的图像上带有<feGaussianBlur />的怪异物品

我目前正在模糊图像,并在包含图像时将其用作背景。 我正在使用以下svg过滤器,并使用feGaussianBlurfeColorMatrix分两步进行过滤。这在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');

所需结果(在台式机上):

Safari和移动浏览器中的图像上带有<feGaussianBlur />的怪异物品

我得到的结果:

Safari和移动浏览器中的图像上带有<feGaussianBlur />的怪异物品

它显示了这些怪异的差距。

我注意到的一些事情:

  • 更改过滤器的尺寸和位置不起作用
  • 在某些图像上我看不到这些伪像
  • 更改过滤器stdDeviation无效

这与我的图像分辨率有关吗?

lch90120201 回答:Safari和移动浏览器中的图像上带有<feGaussianBlur />的怪异物品

这些模糊不清-Safari可能会降低过滤器分辨率的大小。尽管已弃用它,但我认为它已从Firefox和Chrome中删除,但您可以尝试在filter元素中设置一个明确的filterRes,因为Safari仍支持该功能。

(“ colorInterpolationFilters”也应为“ color-interpolation-filters”)

本文链接:https://www.f2er.com/2764444.html

大家都在问