问题描述
|
我正在尝试将简单的FXG转换为SVG。
转换非常简单,但是我遇到了颜色处理问题。
FXG具有灰色路径的基本阴影,并且在以后将该路径用于其他形状时,我应用了不同的颜色转换。
此处的FXG颜色转换(相当于colorTransform):
(看起来像SVG滤镜像AS3 ColorMatrixFilter一样)来实现,但是我找不到方法。
因此,真正的普遍问题是我如何将这些颜色偏移更改转换为颜色矩阵滤镜?
<ColorTransform redOffset=\"-255\" blueOffset=\"25\" greenOffset=\"56\"/>
如何将这种颜色转换(甚至是负偏移)转换为SVG可以理解的内容?我只需要更改颜色偏移,无需乘数或alpha。
我认为可以用解决方法
var matrix : Array = new Array();
matrix = matrix.concat([1,-255]);// red
matrix = matrix.concat([0,1,56]);// green
matrix = matrix.concat([0,25]);// blue
matrix = matrix.concat([0,0]);// alpha
var colorFilter : ColorMatrixFilter = new ColorMatrixFilter(matrix);
最后一列是偏移量。,除了rOffset,gOffset,bOffset和aOffset外,ActionScript ColorTransform还具有redMultipler,greenMultiplier,blueMultiplier和alphaMultiplier属性。
SVG feColorMatrix变为:
[
rMult/256,rOffset/256,gMult/256,gOffset/256,bMult/256,bOffset/256,aMult/256,aOffset/256
]