把彩图变成黑白图

把彩图变成黑白图

ID:32384760

大小:140.00 KB

页数:3页

时间:2019-02-04

把彩图变成黑白图_第1页
把彩图变成黑白图_第2页
把彩图变成黑白图_第3页
资源描述:

《把彩图变成黑白图》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、其实黑色和白色都是灰色。当灰色达到最亮程度时,就是白色;达到最暗的程度时就是黑色了。将彩图变成黑白图,专业的说应该是转化为灰度图像。在RGB颜色空间中,当R,G,B颜色分量的值相等时,所呈现的颜色就是灰色了(在明白RGB颜色空间的原理之后,这个不难理解)。我们通过对原图的R,G,B分量加权平均计算出具有同等亮度的灰度值来完成这个变化。下面上代码:packageimgChange{importflash.display.Bitmap;importflash.display.BitmapData;publicclassimgTransform{publ

2、icstaticfunctiongreyTransform(srcBMP:Bitmap):Bitmap{varsrcW:Number=srcBMP.width;//获得源图像的宽度varsrcH:Number=srcBMP.height;//获得源图像的高度vardestData:BitmapData=newBitmapData(srcW,srcH);//初始化待填充像素矩阵varsrcData:BitmapData=srcBMP.bitmapData;//得到源图像像素矩阵for(varj:int=0;j

3、坐标for(vari:int=0;i

4、ay=newArray(Y,Y,Y);//r,g,b合成颜色varcolor:uint=pixelProcess.generateFromRGBComponent(colorArray);//设置目标图像某点的颜色destData.setPixel(i,j,color);}}vardestBMP:Bitmap=newBitmap(destData);returndestBMP;}}}packageimgChange{importflash.display.Bitmap;importflash.display.BitmapData;publiccla

5、sspixelProcess{/*输入一个颜色,将它拆成三个部分:*红色,绿色和蓝色*/publicstaticfunctionretrieveRGBComponent(color:uint):Array{varr:Number=(color>>16)&0xff;varg:Number=(color>>8)&0xff;varb:Number=color&0xff;return[r,g,b];}/**红色,绿色和蓝色三色组合*/publicstaticfunctiongenerateFromRGBComponent(rgb:Array):uint{i

6、f(rgb==null

7、

8、rgb.length!=3

9、

10、rgb[0]<0

11、

12、rgb[0]>255

13、

14、rgb[1]<0

15、

16、rgb[1]>255

17、

18、rgb[2]<0

19、

20、rgb[2]>255)return0xFFFFFF;returnrgb[0]<<16

21、rgb[1]<<8

22、rgb[2];}}}下面看下效果:package{importflash.display.Sprite;importimgChange.*;importflash.display.Bitmap;importflash.display.BitmapData;publicclassFig

23、ureImgextendsSprite{publicfunctionFigureImg(){[Embed(source="风景.jpg")]varLL:Class;varlog:Bitmap=newLL()asBitmap;addChild(imgTransform.greyTransform(log));}}}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。