← 返回首页
<feDisplacementMap> - SVG | MDN

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

<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.

In diesem Artikel

Verwendungskontext

KategorienErlaubter Inhalt
Primitives Filterelement
Beliebige Anzahl folgender Elemente, in beliebiger Reihenfolge:
<animate>, <set>

Attribute

DOM-Schnittstelle

Dieses Element implementiert die SVGFEDisplacementMapElement Schnittstelle.

Beispiel

html
<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

JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.

Siehe auch