AS3的Color Matrix有哪些空格?

时间:2012-01-08 05:05:41

标签: flash actionscript-3 colors matrix

在构成颜色矩阵的4 * 5数组中,所有值都有什么作用?

我发现的基本上都是这样的:

0, 0, 0, 0, 0 <-R

0, 0, 0, 0, 0 <-G

0, 0, 0, 0, 0 <-B

0, 0, 0, 0, 0 <-A

每件事做什么?

1 个答案:

答案 0 :(得分:3)

直接取自Adobe ColorMatrix docs

“颜色矩阵滤镜将每个源像素分为红色,绿色,蓝色和alpha分量,如srcR,srcG,srcB,srcA。要计算四个通道中每个通道的结果,每个像素的值都是图像乘以变换矩阵中的值。可以选择在每个结果(矩阵的每一行中的第五项)中添加-255到255之间的偏移。过滤器将每个颜色分量组合回一个像素并且写出结果。在下面的公式中,[0]到[19]对应于传递给矩阵属性的20项数组中的条目0到19:“

redResult   = (a[0]  * srcR) + (a[1]  * srcG) + (a[2]  * srcB) + (a[3]  * srcA) + a[4]
greenResult = (a[5]  * srcR) + (a[6]  * srcG) + (a[7]  * srcB) + (a[8]  * srcA) + a[9]
blueResult  = (a[10] * srcR) + (a[11] * srcG) + (a[12] * srcB) + (a[13] * srcA) + a[14]
alphaResult = (a[15] * srcR) + (a[16] * srcG) + (a[17] * srcB) + (a[18] * srcA) + a[19]

绝对要测试the example in the docs。除此之外,请参阅Emanuele Feronato的blog post,它非常擅长展示如何使用矩阵调整颜色。