SVG/Attribut/tableValues
Aus SELFHTML-Wiki
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"
tableValuesenthä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"
tableValuesenthä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
- Spezifikation (W3C): TableValues Attribute
Liste der SVG-Attribute
- Kernattribute
- Präsentationsattribute
- Animations-Attribute
- Filter-Attribute
- amplitude
- azimuth
- baseFrequency
- bias
- color-interpolation-filters
- diffuseConstant
- divisor
- edgeMode
- elevation
- exponent
- filterUnits
- in
- in2
- intercept
- k1, k2, k3, k4
- kernelMatrix
- limitingConeAngle
- mode
- numOctaves
- offset
- operator
- order
- pointsAtX
- pointsAtY
- pointsAtZ
- preserveAlpha
- primitiveUnits
- result
- scale
- seed
- slope
- specularConstant
- specularExponent
- stdDeviation
- stitchTiles
- surfaceScale
- tableValues
- targetX
- targetY
- type (feColorMatrix)
- type (feFunc*)
- type (feTurbulence)
- values
- xChannelSelector
- yChannelSelector
- Layout-Attribute
- viewBox-Attribute
- XLink-Attribute
- weitere XML-Attribute