标签:
写一个函数,将一个 32 位 RGB 像素颜色值为灰度。
RGB转为灰度的公式: grey = 0.3 * red + 0.59 * green + 0.11 * blue;
RGB像素的格式 (左边为最高位,右边是最低位):00000000RRRRRRRRGGGGGGGGBBBBBBBB
函数原型为:
c++:
unsigned int ToGrey(unsigned int rgb);
unsigned int ToGrey(unsigned int rgb) { unsigned int red = (rgb & 0x00ff0000) >> 16; unsigned int green = (rgb & 0x0000ff00) >> 8; unsigned int blue = rgb & 0x000000ff; return (unsigned int)(0.3*red + 0.59*green + 0.11*blue); }
标签:
原文地址:http://www.cnblogs.com/novor/p/4466089.html