惯用ColorMatrixFilter收集
黑白 对比度(N取值为0到10) 亮度(N取值为-255到255) 注:一般取值为-100到100(这里是PS中的取值宽度) 颜色反相 阈值(N取值为-255到255) 色彩饱和度(N取值为0到255) 注:一般取值为0到100(这里是PS中的取值宽度) 设置颜色通道(RGB均为0-2,A为0-1) 红,绿,蓝通道的值由如下所示计算方法所决定: CODE: redResult = a[0] * srcR + a[1] * srcG + a[2] * srcB + a[3] * srcA + a[4] 可以看出,第一行的值决定了红色值,第二行决定绿色,第三行蓝色,第四行是透明(Alpha)通道值。同样可以看出首四栏值是与红,绿,蓝,alpha通道值的乘积,而第五栏的值分别是和(偏移量)。注意每行的源值和结果值都是在0到255的区间内。因此即使各个通道的值小于0或大于255都会被强制到该区间内。
0.3086, 0.6094, 0.0820, 0, 0
0.3086, 0.6094, 0.0820, 0, 0
0.3086, 0.6094, 0.0820, 0, 0
0 , 0 , 0 , 1, 0
N,0,0,0,128*(1-N)
0,N,0,0,128*(1-N)
0,0,N,0,128*(1-N)
0,0,0,1,0
1,0,0,0,N
0,1,0,0,N
0,0,1,0,N
0,0,0,1,0
-1, 0, 0, 0, 255
0 , -1, 0, 0, 255
0 , 0, -1, 0, 255
0 , 0, 0, 1, 0
0.3086*256,0.6094*256,0.0820*256,0,-256*N
0.3086*256,0.6094*256,0.0820*256,0,-256*N
0.3086*256,0.6094*256,0.0820*256,0,-256*N
0, 0, 0, 1, 0
0.3086*(1-N)+ N, 0.6094*(1-N) , 0.0820*(1-N) , 0, 0
0.3086*(1-N) , 0.6094*(1-N) + N, 0.0820*(1-N) , 0, 0
0.3086*(1-N) , 0.6094*(1-N) , 0.0820*(1-N) + N, 0, 0
0 , 0 , 0 , 1, 0
R,0,0,0,0
0,G,0,0,0
0,0,B,0,0
0,0,0,A,0
[1,0,0,0,0,
1,0,0,0,0,
1,0,0,0,0,
0,0,0,1,0
])];
[1,0,0,0,50,
0,1,0,0,50,
0,0,1,0,50,
0,0,0,1,0
])];
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]