Actionscript 3 颜色变换等价颜色矩阵
我正在尝试将一个简单的转换为SVG。 转换非常简单,但我遇到了一个颜色操纵问题 FXG有一个基本的灰色阴影路径,我在其他形状的后续使用该路径时应用了不同的颜色变换。Actionscript 3 颜色变换等价颜色矩阵,actionscript-3,colors,svg,colormatrix,colortransform,Actionscript 3,Colors,Svg,Colormatrix,Colortransform,我正在尝试将一个简单的转换为SVG。 转换非常简单,但我遇到了一个颜色操纵问题 FXG有一个基本的灰色阴影路径,我在其他形状的后续使用该路径时应用了不同的颜色变换。 这里是FXG颜色转换(相当于): 如何将此颜色转换(甚至负偏移)转换为SVG可以理解的内容?我只需要更改颜色偏移,不需要倍增或alpha。 我认为这可以通过使用(看起来这个SVG过滤器的工作原理类似于AS3 ColorMatrixFilter)来实现,但我找不到如何实现 所以,真正普遍的问题是如何将这些颜色偏移更改转换为颜色矩阵
这里是FXG颜色转换(相当于):
如何将此颜色转换(甚至负偏移)转换为SVG可以理解的内容?我只需要更改颜色偏移,不需要倍增或alpha。我认为这可以通过使用(看起来这个SVG过滤器的工作原理类似于AS3 ColorMatrixFilter)来实现,但我找不到如何实现 所以,真正普遍的问题是如何将这些颜色偏移更改转换为颜色矩阵过滤器
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);
最后一列是偏移量。Actionscript ColorTransform除了rOffset、gOffset、bOffset和aOffset之外,还具有redMultipler、greenmultipler、bluemultipler和alphamultipler属性 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
]
谢谢你的澄清。另一方面,我不能使用这个矩阵,因为它在SVG中,它只理解-1和1之间的值。因此,SVG的矩阵相同:
[
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
]