Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 颜色变换等价颜色矩阵_Actionscript 3_Colors_Svg_Colormatrix_Colortransform - Fatal编程技术网

Actionscript 3 颜色变换等价颜色矩阵

Actionscript 3 颜色变换等价颜色矩阵,actionscript-3,colors,svg,colormatrix,colortransform,Actionscript 3,Colors,Svg,Colormatrix,Colortransform,我正在尝试将一个简单的转换为SVG。 转换非常简单,但我遇到了一个颜色操纵问题 FXG有一个基本的灰色阴影路径,我在其他形状的后续使用该路径时应用了不同的颜色变换。 这里是FXG颜色转换(相当于): 如何将此颜色转换(甚至负偏移)转换为SVG可以理解的内容?我只需要更改颜色偏移,不需要倍增或alpha。 我认为这可以通过使用(看起来这个SVG过滤器的工作原理类似于AS3 ColorMatrixFilter)来实现,但我找不到如何实现 所以,真正普遍的问题是如何将这些颜色偏移更改转换为颜色矩阵

我正在尝试将一个简单的转换为SVG。 转换非常简单,但我遇到了一个颜色操纵问题

FXG有一个基本的灰色阴影路径,我在其他形状的后续使用该路径时应用了不同的颜色变换。
这里是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
]