SVGfeComponentTransfer
線形関数が期待どおりに機能していません。グレースケール画像に適用される-1の傾きと1の切片は、画像を反転させる必要があります。黒->白、白->黒、25%グレー-> 75%グレー、50%グレーは変更されません。
私の期待はhttp://www.w3.org/TR/filter-effects/#feComponentTransferElementに基づいています。これは、「C」=勾配* C +切片」と言います。ここで、「Cは初期コンポーネントです(例:「feFuncR」)。 、C'は再マップされたコンポーネントであり、両方とも閉じた間隔[0,1]にあります。」
次のフィルター
<filter id="linear">
<feComponentTransfer>
<feFuncR type="linear" slope="-1" intercept="1" />
<feFuncG type="linear" slope="-1" intercept="1" />
<feFuncB type="linear" slope="-1" intercept="1" />
</feComponentTransfer>
</filter>
黒から白、白から黒にマップされますが、中間値はオフになります。たとえば、50%グレーは90%グレーにマップされ、75%グレーは98%グレーにマップされます。簡単な例については、http://jsfiddle.net/Rpjs2/を参照してください。FirefoxとSafariで同じ結果が得られます。
これはSVGフィルターでの私の最初の試みなので、仕様を誤解しているのではないかと思います。誰かが私を訂正できますか?