<feDisplacementMap>
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
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
| Specification |
|---|
| Filter Effects Module Level 1> # feDisplacementMapElement> |
Browser-Kompatibilität
Loading…
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