このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

numOctaves

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>

オクターブの数値を定義します。負の値は指定できません。

仕様書

仕様書
Filter Effects Module Level 1
# element-attrdef-feturbulence-numoctaves

ブラウザーの互換性

関連情報