在构成颜色矩阵的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
每件事做什么?
答案 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,它非常擅长展示如何使用矩阵调整颜色。