我正在尝试将一个简单的FXG转换为SVG。转换非常简单,但我遇到了一个颜色处理问题。
FXG有一个灰色基础阴影路径,我在随后将此路径用于其他形状时应用了不同的颜色转换。
这里是FXG颜色转换(相当于colorTransform):
<ColorTransform redOffset="-255" blueOffset="25" greenOffset="56"/>如何将这种颜色转换(甚至是负偏移量)转换为SVG可以理解的颜色?我只需要改变颜色偏移量,不需要倍增或alpha。
我认为它可以通过(看起来像这个SVG过滤器的工作方式类似于AS3 ColorMatrixFilter)来实现,但是我不知道如何实现。
因此,真正的一般性问题是如何将这些颜色偏移量更改转换为颜色矩阵滤镜?
发布于 2011-04-19 16:59:55
var matrix : Array = new Array();
matrix = matrix.concat([1,0,0,0,-255]);// red
matrix = matrix.concat([0,1,0,0, 56]);// green
matrix = matrix.concat([0,0,1,0, 25]);// blue
matrix = matrix.concat([0,0,0,1, 0]);// alpha
var colorFilter : ColorMatrixFilter = new ColorMatrixFilter(matrix);最后一列是offset。
发布于 2011-04-29 01:32:33
Actionscript ColorTransform除了具有redMultipler、greenMultiplier、blueMultiplier和alphaMultiplier属性外,还具有rOffset、gOffset、bOffset和aOffset属性。
SVG feColorMatrix变为:
[
rMult/256, 0, 0, 0, rOffset/256,
0, gMult/256, 0, 0, gOffset/256,
0, 0, bMult/256, 0, bOffset/256,
0, 0, 0, aMult/256, aOffset/256
]https://stackoverflow.com/questions/5713830
复制相似问题