numOctaves

numOctaves 属性定义 <feTurbulence> 基本类型的噪声函数的八度数。

八度是由其频率和幅度定义的噪声函数。湍流是通过累积多个具有递增频率和递减幅度的八度来构建的。八度数越高,噪声看起来越自然。尽管更多八度也需要更多计算,导致性能下降。

您可以将此属性与以下 SVG 元素一起使用

示例

示例 1

html
<svg viewBox="0 0 420 200" xmlns="http://www.w3.org/2000/svg">
  <filter id="noise1" x="0" y="0" width="100%" height="100%">
    <feTurbulence baseFrequency="0.025" numOctaves="1" />
  </filter>
  <filter id="noise2" x="0" y="0" width="100%" height="100%">
    <feTurbulence baseFrequency="0.025" numOctaves="3" />
  </filter>

  <rect x="0" y="0" width="200" height="200" style="filter: url(#noise1);" />
  <rect
    x="0"
    y="0"
    width="200"
    height="200"
    style="filter: url(#noise2); transform: translateX(220px);" />
</svg>

示例 2

html
<svg
  width="200"
  height="200"
  viewBox="0 0 220 220"
  xmlns="http://www.w3.org/2000/svg">
  <filter id="displacementFilter">
    <feTurbulence baseFrequency="0.05" numOctaves="3" result="turbulence" />
    <feDisplacementMap
      in2="turbulence"
      in="SourceGraphic"
      scale="50"
      xChannelSelector="R"
      yChannelSelector="G" />
  </filter>

  <circle cx="100" cy="100" r="100" style="filter: url(#displacementFilter)" />
</svg>

使用说明

<integer>
默认值 1
可动画
<integer>

定义八度数。不允许负值。

规范

规范
过滤器效果模块 1 级
# element-attrdef-feturbulence-numoctaves

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅