SVG/Filter/feComponentTransfer

Aus SELFHTML-Wiki
< SVG‎ | Filter
Wechseln zu: Navigation, Suche

Der primitive Filter feComponentTransfer bewirkt Änderungen der Helligkeit, des Kontrastes und der Farbbalance durch eine Änderung der Farbwerte jedes einzelnen Pixels. [1]

Dies wird in den Kindelementen

festgelegt.

  • SVG 1.1
  • Chrome
  • Firefox
  • IE 10
  • Opera
  • Safari

Anwendung[Bearbeiten]

Beispiel ansehen …
  <defs>
    <linearGradient id="MyGradient" gradientUnits="userSpaceOnUse"
            x1="100" y1="0" x2="600" y2="0">
      <stop offset="0" stop-color="#ff0000" />
      <stop offset=".33" stop-color="#00ff00" />
      <stop offset=".67" stop-color="#0000ff" />
      <stop offset="1" stop-color="#000000" />
    </linearGradient>
    <filter id="Identity" filterUnits="objectBoundingBox" 
            x="0%" y="0%" width="100%" height="100%">
      <feComponentTransfer>
        <feFuncR type="identity"/>
        <feFuncG type="identity"/>
        <feFuncB type="identity"/>
        <feFuncA type="identity"/>
      </feComponentTransfer>
    </filter>
    <filter id="Table" filterUnits="objectBoundingBox" 
            x="0%" y="0%" width="100%" height="100%">
      <feComponentTransfer>
        <feFuncR type="table" tableValues="0 0 1 1"/>
        <feFuncG type="table" tableValues="1 1 0 0"/>
        <feFuncB type="table" tableValues="0 1 1 0"/>
      </feComponentTransfer>
    </filter>
    <filter id="Linear" filterUnits="objectBoundingBox" 
            x="0%" y="0%" width="100%" height="100%">
      <feComponentTransfer>
        <feFuncR type="linear" slope=".5" intercept=".25"/>
        <feFuncG type="linear" slope=".5" intercept="0"/>
        <feFuncB type="linear" slope=".5" intercept=".5"/>
      </feComponentTransfer>
    </filter>
    <filter id="Gamma" filterUnits="objectBoundingBox" 
            x="0%" y="0%" width="100%" height="100%">
      <feComponentTransfer>
        <feFuncR type="gamma" amplitude="2" exponent="5" offset="0"/>
        <feFuncG type="gamma" amplitude="2" exponent="3" offset="0"/>
        <feFuncB type="gamma" amplitude="2" exponent="1" offset="0"/>
      </feComponentTransfer>
    </filter>
  </defs>
Diese Beispiel aus der Spezifikation zeigt die verschiedenen Transfertypen.

Folgende Attribute sind möglich:

  • in: Eingangsgrafik

Kindelemente[Bearbeiten]

feFuncR[Bearbeiten]

Dieser primitive Filter legt die Transferfunktion für den roten Farbkanal der Eingangsgrafik des Elternelements fest.

feFuncG[Bearbeiten]

Dieser primitive Filter legt die Transferfunktion für den grünen Farbkanal der Eingangsgrafik des Elternelements fest.

feFuncB[Bearbeiten]

Dieser primitive Filter legt die Transferfunktion für den blauen Farbkanal der Eingangsgrafik des Elternelements fest.

feFuncA[Bearbeiten]

Dieser primitive Filter legt die Transferfunktion für den Alphakanal der Eingangsgrafik des Elternelements fest.

Attribute[Bearbeiten]

  • type:
    • identity: die verarbeitete Komponente entspricht der ursprünglichen Komponente C' = C
    • table: Tabellenfunktion (lineare Interpolation), Werte werden mit tableValues bestimmt.
    • discrete: Treppenfunktion (step function), Werte werden mit tableValues bestimmt
    • linear: lineare Funktion (bes. für Helligkeit), Werte werden mit slope und intercept bestimmt.
    • gamma: Exponentialfunktion (bes. für Kontrasteinstellungen); Werte werden mit amplitude, exponent und offset bestimmt
  • tableValues: Liste von Zahlen für type="table"
  • slope: Transfer Funktionsattribut, das bei type ="linear" eine Kurve festlegt. (Standardwert ist 1)
  • intercept: Transfer Funktionsattribut, das bei type ="linear" den intercept-Wert festlegt. (Standardwert ist 1)
  • amplitude: Transfer Funktionsattribut, das bei type ="gamma" die Amplitude der Gamma-Funktion festlegt (Standardwert ist 1)
  • exponent: Transfer Funktionsattribut, das bei type ="gamma" den Exponenten der Gamma-Funktion festlegt (Standardwert ist 1)
  • offset: Transfer Funktionsattribut, das bei type ="gamma" die Verschiebung der Gamma-Funktion festlegt (Standardwert ist 0)


Quellen[Bearbeiten]

  1. W3C: feComponentTransferElement

Referenz[Bearbeiten]