📜  SVG feTurbulence过滤器(1)

📅  最后修改于: 2023-12-03 15:20:23.504000             🧑  作者: Mango

SVG feTurbulence过滤器

SVG (Scalable Vector Graphics)是一种用于描述可缩放二维矢量图形的XML标记语言。在SVG中,可以使用一些过滤器对图形进行特效处理。feTurbulence是其中一个过滤器,该过滤器会创建噪声效果,通过改变其参数可以实现不同的效果。

feTurbulence简介

feTurbulence是SVG中用于创建噪声的过滤器,它可以模拟自然界中的纹理和形状。使用feTurbulence可以创建出很多常见的噪声类型,比如Perlin噪声和柏林噪声等。此外,feTurbulence还可以用于创建烟雾、火焰、云朵等效果。以下是一些feTurbulence的参数:

| 参数 | 说明 | | -------- | ----------------------------------------------------------- | | type | 噪声类型,默认值是fractal | | baseFrequency | 用于控制噪声的频率,默认值是0.01 | | numOctaves | 频率的数量,表示需要生成多少种噪声 | | seed | 随机种子,决定了随机噪声的外观 | | stitchTiles | 是否重复图块 | | result | 指定输出的结果 |

使用feTurbulence

feTurbulence可以作为SVG图形中的一个滤镜使用。下面是一个简单的例子:

<svg width="500" height="500">
  <defs>
    <filter id="turbulence">
      <feTurbulence type="fractal" baseFrequency="0.1" numOctaves="3" />
    </filter>
  </defs>
  <rect x="100" y="100" width="300" height="300" style="filter:url(#turbulence)" />
</svg>

以上代码创建了一个500x500的SVG图形,并且在该图形中定义了一个滤镜。该滤镜的id是"turbulence",其中的feTurbulence使用了默认的type值,但是baseFrequency设置为了0.1,numOctaves设置为了3。在实际效果中,这会创建出类似于云朵的噪声效果。然后,在SVG图形的重心(x, y) = (250, 250)出绘制了一个300x300的矩形,并将其应用了该滤镜。

可视化feTurbulence效果

我们可以使用demo页面来可视化feTurbulence效果。在该页面中,我们可以通过修改参数来查看不同的噪声效果。

结论

feTurbulence是SVG中用于创建噪声的重要工具。通过使用它,我们可以创建出很多不同的噪声效果。在实际应用中,我们可以使用feTurbulence创建各种自然的纹理和形状,从而增强我们的图形效果。