colorTransform等效色矩阵

问题描述

| 我正在尝试将简单的FXG转换为SVG。 转换非常简单,但是我遇到了颜色处理问题。 FXG具有灰色路径的基本阴影,并且在以后将该路径用于其他形状时,我应用了不同的颜色转换。 此处的FXG颜色转换(相当于colorTransform):
<ColorTransform redOffset=\"-255\" blueOffset=\"25\" greenOffset=\"56\"/>
如何将这种颜色转换(甚至是负偏移)转换为SVG可以理解的内容?我只需要更改颜色偏移,无需乘数或alpha。 我认为可以用(看起来像SVG滤镜像AS3 ColorMatrixFilter一样)来实现,但是我找不到方法。 因此,真正的普遍问题是我如何将这些颜色偏移更改转换为颜色矩阵滤镜?

解决方法

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
]