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

View in English Always switch to English

numOctaves

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since 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>

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

仕様書

Specification
Filter Effects Module Level 1
# element-attrdef-feturbulence-numoctaves

ブラウザーの互換性

関連情報