[SVG] feTurbulence Filter
Structuring a Basic SVG
SVGは本質的にXMLベースの寸法言語であり,2次元図形を記述するために用いられる.
MDNの定義は「SVGはHTMLでテキストのグラフィックに必要」
他のHTMLタグと同様に、widthやheightなどのプロパティを<svg>
タグに追加できます.<svg xmlns=”http://www.w3.org/2000/svg" viewBox=”0 0 100 100">
<rect x=”10" y=”10" width=”80" height=”80" fill=”green” />
</svg>`
<svg xmlns=”http://www.w3.org/2000/svg" viewBox=”0 0 100 100">
<rect x=”10" y=”10" width=”80" height=”80" fill=”green” />
</svg>`
Filter
SVGは、矩形<RECT>
要素と同様に多くの他の要素を有する.要素の1つは<filter>
です.
FilterはFilter Primitive ElementsグループをカバーするSVG要素である.Filter Primitiveは、画像に混ぜ合わせることができる色です.<svg width="600" height="450" viewBox="0 0 600 450">
<filter id="myFilter">
<feGaussianBlur stDeviation="5"></feGaussianBlur>
</filter>
<image xlink:href="…" width="100%" height="100%" x="0" y="0" filter="url(#myFilter)"></image>
</svg>
画像を含むデフォルトのSVG要素とfilter要素が含まれます.フィルタ要素は、'fegaussianblur'
というFilter Primitivをサブ要素として持つ.fegaussianblur
SVG要素内にマッピングされた要素にgaussian blur
を作成します.
上のsvgでは、画像タグに複数のプロパティがあります.
<svg width="600" height="450" viewBox="0 0 600 450">
<filter id="myFilter">
<feGaussianBlur stDeviation="5"></feGaussianBlur>
</filter>
<image xlink:href="…" width="100%" height="100%" x="0" y="0" filter="url(#myFilter)"></image>
</svg>
filter ID
画像に基づいて必要なフィルタ効果を指定します.feTurbulence filter mapped to an image
feTurbulence
FeTurbluenceフィルタは、要素マッピングにブラー効果をもたらします.
- filterおよび画像要素を含むSVG要素.
- 画像要素は、SVGネーミングスペースに配置されていない要素
foiegnobject
を表示するためにタグ内にパッケージされる. FedisPlacementMap
は、2つの入力(それぞれfilter
および이미지
)を受け入れ、2つの入力を出力する.filter
はin2
属性内で参照され、이미지는
はin出力で参照される.- feTurbulance要素にアニメーション要素が追加されています.フィルタにノイズを追加するプロパティは「BaseFrequency」
My Demo
<svg viewbOX="0 0 100 100">
<filter id="filter1">
<feTurbulence type="turbulence" baseFrequency="0.07 0.05" numOctaves="5" stitchTiles="stich" x="0%" y="0%" width="100%" height="100%" result="noise" />
<feDisplacementMap in="SourceGraphic" in2="noise" scale="10" xChannelSelector="R" yChannelSelector="B" x="0%" y="0%" width="100%" height="100%" />
</filter>
<image xlink:href="https://picsum.photos/300/300" x="0%" y="0%" width="50%" height="100%" filter="url(#filter1)"></image>
</svg>
REFERENCE
Reference
この問題について([SVG] feTurbulence Filter), 我々は、より多くの情報をここで見つけました https://velog.io/@godud2604/SVG-feTurbulence-Filterテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol