WINCE图像处理软件的开发班级:10嵌入式2班小组成员:袁志东1006003229、林情1006003209、蔡彬星1006003211指导老师:杨志疆WINCE图像处理软件简介•利用VS.NET2005开发出适合于WindowsMobile操作系统的手机上运行的图像处理软件。•程序实现的功能是在WINCE设备上用的手写笔点下或划动触摸屏时,将图片打开并进行旋转、放大缩小、锐化、灰度化等编辑操作,在编程实现过程中,可以通过响应一个button按钮事件的方法去实现旋转、放大缩小、锐化、灰度化的功能。编辑完成之后为了避免编辑后的图片丢失,程序还能够实现图片内容的存储。基于GDI屏幕绘图•GDI+就是图形设备接口,它提供了各种丰富的图形图像处理功能,在WindowsCE系统中,它充当应用程序和硬件设备之间的中间层,封装与硬件交互所需的低级API,这些API函数可用于绘制图形和文本。过去GDI是以C语言的函数形式提供条用的API,而GDI+在很大程度上是GDI和用用程序之间的一层,提供了更直观、基于继承性的对象模型。它是对GDI做了一个面向对象的封装,是GDI的一个包装器。随着.NETCompactFramework的出现,微软将GDI+非托管的API进行包装,形成类库放进.NET精简版的框架中,这种类库称为GDI+类库,它是一种托管对象,使得开发人员很方便完成屏幕绘图任务,同时当托管的GDI+类对象不再使用时,可由.NETCompactFramework中的垃圾回收器进行释放,可以回收GDI+绘图所占的资源。当定制WindowsCE操作系统时,加入.NETCompactFramework框架的组件,这时就可以使用GDI+提供的功能来实现有关屏幕绘图的任务。GDI+托管类的接口•在.NETCompactFramework中,GDI+API封装在一组托管代码中,这些类被称为GDI+的托管类接口,GDI+的类被组织到如下的命名空间。•System.Drawing:提供基本的图形功能,定义了用于存储的基元自身信息的类、结构和存储基元绘制方式信息的类,以及实际进行绘制的类。•System.Drawing.Drawing2D:提供大多数高级2D和矢量绘图操作类,例如消除锯齿、几何转换盒图形路径等。•System.Drawing.Imaging:提供处理图像(位图、GDI文件等)的各种类。•System.Drawing.Text:提供字体和字体系列操作的类。•GDI+使用Bitmap类表示一个位图,这个类是抽象类Image的子类,尽管Bitmap类表示的是一个位图,并且在内存中也是使用位图的格式来存储图片的,danBitmap类可以支持bmp、jpg、gif等常见的图像文件格式。•绘图时,可以使用Bitmap类对象指定为Image类型的图像,并作为参数,然后调用Graphics类的对象DrawImage方法进行绘制。开始结束调用主窗体选择退出?锐化?颜色逆反?镶嵌?翻转?……控制字程序控制子程序控制子程序控制子程序控制子程序软件设计流程图:灰度化?控制子程序程序模拟实现打开图像文件:程序模拟实现图像左转90度:图像右转90度:程序模拟实现图像放大:图像缩小:程序模拟实现图像旋转180度:图像颜色逆反:程序在开发板上部署运行打开图像文件:程序在开发板上部署运行图像旋转180度:程序在开发板上部署运行图像左转90度:程序在开发板上部署运行图像右转90度:程序在开发板上部署运行图像进行镶嵌马赛克处理;程序在开发板上部署运行图像进行颜色逆反处理:小结•通过此次设计我们学到了以下几点:•第一就是在做项目前找到的那些需要重点练习的部分,要认真分析试着自己实现,如果还是做不出来就可以找老师请教了。•第二就是注意一下做项目时花费的时间,如果能在指定时间内完成该功能模块说明我们最这些技能点已经掌握熟练了,如果不能完成我们就需要在课下多加练习了。毕竟在今后面试时,不光是对实现功能的考察,同样是对完成速度的竞争,只有做到最好最快才能在职场竞争时脱颖而出。在本文的撰写过程中,感谢杨老师对我们的指导和帮助,同时也要感谢他一直支持我们。他严谨细致、一丝不苟的作风一直是我们工作、学习中的榜样,他循循善诱的教导和不拘一格的思路给予我们无尽的启迪。使我们在对基于WinCE的软件开发的认识和论文的撰写能力方面有了很大的提高。谢谢观赏MakePresentationmuchmorefun出品人:林情、袁志东、蔡彬星