<feDisplacementMap>
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The<feDisplacementMap>SVG filter primitive uses the pixel values from the image fromin2 to spatially displace the image fromin.
The formula for the transformation looks like this:
P'(x,y) ← P(x + scale * (XC(x,y) - 0.5), y + scale * (YC(x,y) - 0.5))
whereP(x,y) is the input image,in, andP'(x,y) is the destination.XC(x,y) andYC(x,y) are the component values of the channel designated byxChannelSelector andyChannelSelector.
Like other filter primitives, it handles color components in thelinearRGBcolor space by default. You can usecolor-interpolation-filters to usesRGB instead.
In this article
Usage context
Attributes
DOM Interface
This element implements theSVGFEDisplacementMapElement interface.
Example
<svg width="200" height="200" viewBox="0 0 220 220" xmlns="http://www.w3.org/2000/svg"> <filter> <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>Specifications
| Specification |
|---|
| Filter Effects Module Level 1> # feDisplacementMapElement> |