八度數

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流瀏覽器均已支援。

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" filter="url(#noise1)" />
  <rect x="220" y="0" width="200" height="200" filter="url(#noise2)" />
</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" filter="url(#displacementFilter)" />
</svg>

用法說明

<integer>
預設值 1
可動畫的
<integer>

定義次數。不允許使用負值。

規範

規範
濾鏡效果模組第 1 級
# element-attrdef-feturbulence-numoctaves

瀏覽器相容性

另見