C 图形处理系列(一)——逆反处理

C 图形处理系列(一)——逆反处理

ID:41306427

大小:436.50 KB

页数:9页

时间:2019-08-21

C 图形处理系列(一)——逆反处理_第1页
C 图形处理系列(一)——逆反处理_第2页
C 图形处理系列(一)——逆反处理_第3页
C 图形处理系列(一)——逆反处理_第4页
C 图形处理系列(一)——逆反处理_第5页
资源描述:

《C 图形处理系列(一)——逆反处理》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、C#图形处理系列(一)——最简单第一步:逆反处理、二值处理在本系列博文中,将介绍几种常见的图形处理算法。上文C#图片处理常见方法性能比较中以彩色转灰色处理为例探讨了3中方法的性能,因此彩色转灰度处理就不再另做介绍。publicenumDealType{黑白处理,逆反处理,平滑处理,霓虹处理,浮雕处理,雾化处理,锐化处理,二值处理,马赛克处理,油画处理}DealType枚举定义了常见的图形处理方法。///

///具有图片处理功能的接口///publicinterfaceIIma

2、geProcessable{voidProcessBitmap(Bitmapbmp);unsafevoidUnsafeProcessBitmap(Bitmapbmp);}IImageProcessable接口提供图形处理接口,所有图形处理类都实现了该接口。ProcessBitmap(Bitmapbmp)直接提取像素法处理图形,处理效率较低,适合处理小图片。UnsafeProcessBitmap(Bitmapbmp)提供高效率的图形处理方法,以指针或内存拷贝法处理图形,不安全代码。publicclassImage

3、DealFactory{publicstaticIImageProcessableCreateDealImage(DealTypedealType){IImageProcessabledealImage=null;switch(dealType){caseDealType.黑白处理:dealImage=newBlackWhiteImage();break;caseDealType.霓虹处理:dealImage=newNeonImage();break;caseDealType.逆反处理:dealImage=ne

4、wRebelliousImage();break;caseDealType.平滑处理:dealImage=newSmoothImage();break;caseDealType.浮雕处理:dealImage=newReliefImage();break;caseDealType.雾化处理:dealImage=newFogImage();break;caseDealType.锐化处理:dealImage=newSharpenImage();break;caseDealType.二值处理:dealImage=new

5、TwoValueImage();break;caseDealType.马赛克处理:dealImage=newMosaicImage();break;caseDealType.油画处理:dealImage=newOilImage();break;}returndealImage;}}ImageDealFactory图形处理工厂。先从最简单的图形处理介绍起,最简单的要算逆反处理、灰度处理、积木二值处理了。逆反处理逆反处理的原理很简单,用255减去该像素的RGB作为新的RGB值即可。g(i,j)=255-f(i,j)

6、///

///逆反处理///publicclassRebelliousImage:IImageProcessable{publicvoidProcessBitmap(System.Drawing.Bitmapbmp){intwidth=bmp.Width;intheight=bmp.Height;for(inti=0;i

7、=255-c.G;intb=255-c.B;bmp.SetPixel(i,j,Color.FromArgb(r,g,b));}}}#regionIImageProcessable成员publicunsafevoidUnsafeProcessBitmap(Bitmapbmp){intwidth=bmp.Width;intheight=bmp.Height;Rectanglerect=newRectangle(0,0,width,height);BitmapDatabmpData=bmp.LockBits(rect

8、,ImageLockMode.ReadWrite,PixelFormat.Format32bppArgb);byte*ptr=(byte*)(bmpData.Scan0);for(inti=0;i

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

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

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