<feDisplacementMap>
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Das <feDisplacementMap> SVG Filterprimitiv verwendet die Pixelwerte des Bildes aus in2, um das Bild aus in räumlich zu verschieben.
Die Formel für die Transformation sieht folgendermaßen aus:
P'(x,y) ← P(x + scale * (XC(x,y) - 0.5), y + scale * (YC(x,y) - 0.5))
wobei P(x,y) das Eingabebild ist, in, und P'(x,y) das Ziel. XC(x,y) und YC(x,y) sind die Komponentenwerte des Kanals, der durch xChannelSelector und yChannelSelector bezeichnet wird.
Wie andere Filterprimitive behandelt es Farbkomponenten standardmäßig im linearRGB Farbraum. Sie können color-interpolation-filters verwenden, um stattdessen sRGB zu nutzen.
Verwendungskontext
Attribute
DOM-Schnittstelle
Dieses Element implementiert die SVGFEDisplacementMapElement Schnittstelle.
Beispiel
<svg
width="200"
height="200"
viewBox="0 0 220 220"
xmlns="http://www.w3.org/2000/svg">
<filter id="displacementFilter">
<feTurbulence
type="turbulence"
baseFrequency="0.05"
numOctaves="2"
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>
Spezifikationen
| Spezifikation |
|---|
| Filter Effects Module Level 1> # feDisplacementMapElement> |
Browser-Kompatibilität
Siehe auch
- SVG-Filter-Primitive-Attribute
<filter><animate><set><feBlend><feColorMatrix><feComponentTransfer><feComposite><feConvolveMatrix><feDiffuseLighting><feFlood><feGaussianBlur><feImage><feMerge><feMorphology><feOffset><feSpecularLighting><feTile><feTurbulence>- SVG-Tutorial: Filtereffekte