是用户可以在非.NET环境下使用GDI+,有关具体的使用方法,在以下部分进行介绍。
1.3 总体设计
1.3.1 项目规划
图像处理系统是一个典型的图像处理软件,它由图像显示、图像转换、图像处理、字符识别、其他和帮助等模块组成。
* 图像显示模块
该模块主要包括显示位图、显示JPEG、显示GIF 3个部分。
* 图像转换模式
该模块主要包括位图转换为JPEG、JPEG转换为位图、位图转换为GIF、GIF转换为位图4个部分。
* 图像处理模块
该模块主要包括图像旋转、图像锐化处理、图像反色处理、灰度化处理、线性变换5个部分。
* 字符识别模块
该模块主要包括手写数字识别。
* 其他模块
该模块主要包括设置菜单的固定颜色和随机颜色两个部分。
* 帮助模块
该模块主要包括软件的版本、开发单位等信息。
1.3.2 系统功能架构图
系统功能构架图如图1.1所示
图1.1 图像处理系统功能架构图
1.4 系统设计
1.4.1 设计目标
本系统属于小型的图像处理软件,主要用于实现图像的显示与批量转换操作。具体设计要求如下。
* 实现各种图像格式的显示。
* 系统采用良好的人机对话模式,界面设计美观、友好。
* 支持图像的单一转换与批量转换。
* 实现位图的各种常规操作。例如图像旋转、灰度化处理、线性变换等。
* 系统运行稳定、安全可靠。
1.4.2 开发及运行环境
系统开发平台:Visual C++ 6.0 。
运行平台:Windows XP/Windows 2000/Windows 2003 。
分辨率:最佳效果 1024*1280像素。
1.5 技术准备
1.5.1 基本绘图操作
绘图操作通常是指在窗口的某个区域输出位图图像。窗口通常关联一个设备上下文CDC,所有的绘图操作都是通过CDC来完成的。用户可以通过调用窗口类的GetDC方法获得一个CDC对象指针。CDC提供BitBlt、StretchBlt等方法来输出位图,但是这些方法均需要借助另一个CDC对象来实现。如何设置源设备上下文,并调用BitBit方法输出位图。
CDC*Pdc=GetDC( ); //获取窗口设备的上下文
CBitmap bk ; //定义位图对象
CDCmemdc; //定义设备上下文
memdc.CreateCompatibleDC(pDC); //创建一个兼容的设备上下文
bk.LoadBitmap(IDB_CHESSBOARD); //加载位图对象
memdc.SelectObject(&bk); //选中位图
pDC->BitBlt(0,600,600,&memdc,0,0,SRCCOPY);//调用BitBlt方法输出位图
1.5.2 内存画布的设计
在绘制图像时,如果频繁的进行多次绘图操作,会出现闪烁的情况。为了防止闪烁的出现,可以设计一个临时的画布,称之为内存画布,让所有的绘图操作均在内存画布上进行,然后在内存画布对象失去作用域时将其输出到目标设备上下文中,这样就阻止了闪烁情况的出现,内存画布的设计代码如下:
m_ pbmp->CreateCompatibleBitmap(Pdc,rect.Width(),rect,Height() );
m_poldbmp=SelectObje
上一篇:
VC企业人力资源管理系统毕业论文(2003doc)
下一篇:
采用VC的伺服电机控制毕业论文(2003doc)