假設 r g b 是原本圖像的色彩
[pre lang="java"]
grayfull = (r * 38 + g * 75 + b * 15) >> 7;
r += tone.red + (grayfull - r) * tone.gray/256;
g += tone.green + (grayfull - g) * tone.gray/256;
b += tone.blue + (grayfull - b) * tone.gray/256;
if (r > 255) r = 255;
if (g > 255) g = 255;
if (b > 255) b = 255;
[/pre]