JavaScript实现256色转灰度图

一幅完整的图像,是由红色、绿色、蓝色三个通道组成的。红色、绿色、蓝色三个通道的缩览图都是以灰度显示的。用不同的灰度色阶来表示" 红,绿,蓝"在图像中的比重。通道中的纯白,代表了该色光在此处为最高亮度,亮度级别是255。

灰度化方法

1.浮点算法:Gray = R*0.299 + G*0.587 + B*0.114  

2.整数方法:Gray = (R*299 + G*587 + B*114 + 500) / 1000 

3.移位方法:Gray =(R*28+G*151+B*77)>>8;   

4.平均值法:Gray=(R+G+B)/3;   

5.仅取绿色:Gray=G;

只要将原来的RGB(R,G,B)中的R,B统一用Gray替换,形成新的RGB(Gray,Gray,Gray)就完成灰度化了;

效果图:

代码如下:

rush:xhtml;"> <Meta charset="UTF-8"> ImgBase