SVG 基础教程

SVG 形状

SVG 滤镜

SVG 渐变

SVG 参考

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/svg-fegaussianblur.html

SVG 模糊效果


所有互联网的 SVG 滤镜定义在 <defs> 元素中。

注意: Internet Explorer 和 Safari 不支持 SVG 滤镜!

<defs> 和 <filter>

<defs> 元素定义短并含有特殊元素(如滤镜)定义。

<filter> 标签用来定义 SVG 滤镜。<filter> 标签使用必需的 id 属性来定义向图形应用哪个滤镜?

SVG <feGaussianBlur>

实例 1

<feGaussianBlur> 元素是用于创建模糊效果:

下面是SVG代码:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
  <defs>
    <filter id="f1" x="0" y="0">
      <feGaussianBlur in="SourceGraphic" stdDeviation="15" />
    </filter>
  </defs>
  <rect width="90" height="90" stroke="green" stroke-width="3"
  fill="yellow" filter="url(#f1)" />
</svg>

代码解析:

  • <filter> 元素 id 属性定义一个滤镜的唯一名称
  • <feGaussianBlur> 元素定义模糊效果
  • in="SourceGraphic" 这个部分定义了由整个图像创建效果
  • stdDeviation 属性定义模糊量
  • <rect> 元素的滤镜属性用来把元素链接到"f1"滤镜