颜色特效在滤镜中比较常见:
碧绿(Aqua)、棕褐色(Sepia)、冰冻(Ice)、熔铸(Molten)、暗调(Darkness)、对调(Subtense)、怪调(Whim)等。
对RGB的一些简单操作就能够实现,可以理解为RGB的映射。
原理如下:
碧绿效果
R = (G - B) * (G - B) / 128
G = (R - B) * (R - B) / 128
B = (R - G) * (R - G) / 128
棕褐色效果
也称为老照片效果,可以在上面加一些高斯噪声也可,实现原理:
R = 0.393 * R + 0.769 * G + 0.189 * B
G = 0.349 * R + 0.686 * G + 0.168 * B
B = 0.272 * R + 0.534 * G + 0.131 * B
冰冻效果
R = |r - g - b| * 3 / 2
G = |g - b - r| * 3 / 2
B = |b - r - g| * 3 / 2
熔铸效果
R = R * 128 / (G + B + 1)
G = G * 128 / (G + B + 1)
B = B * 128 / (G + B + 1)
暗调效果
R = (R * R / 255)
G = (G * G / 255)
B = (B * B / 255)
对调效果
R= (byte)(G * B / 255)
G = (byte)(B * R / 255)
B = (byte)(R * G / 255)
怪调效果
R = Sin(atan2(G, B)) * 255
G = Sin(atan2(B, R)) * 255
B = Sin(atan2(R, G)) * 255