SVG feComponentTransfer线性函数不能像我期望的那样工作.应用于灰度图像的-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>
Run Code Online (Sandbox Code Playgroud)
将黑色映射到白色,将白色映射到黑色,但中间值关闭,例如50%灰色映射到90%灰色,75%灰色映射到98%灰色.有关简单示例,请参见http://jsfiddle.net/Rpjs2/.我在Firefox和Safari中获得了相同的结果.
这是我第一次尝试SVG过滤器,所以我怀疑我误解了这些规格.有人可以纠正我吗?