SVG/Attribut/tableValues

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Das tableValues-Attribut ist ein Transfer Funktionsattribut, das für die Funktionsschablonen type="table" oder type="discrete" eine durch Komma oder Leerzeichen getrennte Liste von Werten enthält.

Für type="table"
tableValues enthält "t0 t1 t2 ... tN". Der Wertebereich C ∈ [0...1] für einen Farbkanal wird in N gleichgroße Intervalle geteilt. Dem Farbkanalwert C=0 wird der neue Wert C'=t0 zugeordnet, dem Wert C=1/n der Wert C'=t1, und so weiter, bis zu C=1 und C'=tN. Liegt C zwischen zwei Stützpunkten, wird durch lineare Interpolation ein Zwischenwert berechnet.
Für type="discrete"
tableValues enthält "t0 t1 t2 ... tN-1". Der Wertebereich C ∈ [0...1] für einen Farbkanal wird in N gleichgroße Intervalle geteilt. Den Farbkanalwerten von C=0 bis C<1/n wird der neue Wert C'=t0 zugeordnet, den Werten C=1/n bis C<2/n der Wert C'=t1, und so weiter. Für C=1 wird tN-1 benutzt. Es wird also nicht interpoliert, sondern immer der Tabellenwert für den linken Intervallrand benutzt.
Erlaubte Werte

Liste von Zahlen

Standardwert

none

anwendbar auf
Präsentationsattribut

nein

mit CSS animierbar

ja

Beispiel
<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>
  • In den tableValues stehen jeweils 4 Werte, die Eingangsfarbwerte werden also die Teilbereiche [0...33,3%], [33,3%...66,7%] und [66,7%...1] aufgeteilt. Innerhalb dieser Teilbereiche erfolgt eine lineare Abbildung.
  • Für den Rot-Kanal wird das erste Drittel auf 0 abgebildet, das mittlere Drittel auf die Werte 0% bis 100% gespreizt, und alles ab 66,7% wird zu 100%.
  • Im Grünkanal ist es umgekehrt. Grünwerte von 0% bis 33,3% werden zu 100%, das mittlere Drittel wird auf 100% bis 0% abgebildet (je heller im Eingang, desto dunkler das Ergebnis) und Grün-Eingangswerte über 66,7% bekommen keinen Grünanteil mehr.
  • Der Blaukanal bildet die Eingangswerte 0% bis 33,3% linear auf 0% bis 100% ab, das mittlere Drittel bekommt einen Blauanteil von 100% und die Blauwerte von 66,7% bis 100% werden auf 100% bis 0% abgebildet.
  • Ob diese Transformationskombination einen Sinn hat, sei dahingestellt...

Siehe auch

Weblinks