图像处理系统详细设计说明书汇编

上传人:jiups****uk12 文档编号:90772959 上传时间:2019-06-16 格式:DOC 页数:24 大小:471.01KB
返回 下载 相关 举报
图像处理系统详细设计说明书汇编_第1页
第1页 / 共24页
图像处理系统详细设计说明书汇编_第2页
第2页 / 共24页
图像处理系统详细设计说明书汇编_第3页
第3页 / 共24页
图像处理系统详细设计说明书汇编_第4页
第4页 / 共24页
图像处理系统详细设计说明书汇编_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《图像处理系统详细设计说明书汇编》由会员分享,可在线阅读,更多相关《图像处理系统详细设计说明书汇编(24页珍藏版)》请在金锄头文库上搜索。

1、案卷号日期图像处理系统详细设计说明书 作 者: YOUNG REGIN GROUP团队 完成日期: 2016.8.24 签 收 人: 签收日期: 修改情况记录:版本号修改批准人修改人修改日期签收人1.0杨开2016.8231.1杨开2016.824 详细设计说明书目录1 引言21.1 编写目的21.2 背景21.3 定义21.4 参考资料22 程序系统的结构33 系统登陆设计说明43.1 主窗口设计43.2 图像旋转模块功能设计43.3图像缩放模块设计43.4 图片水印效果模块设计53.5 照片版式处理模块设计53.6 流程逻辑64 位图数据的存储形式5 限制条件46 测试计划41 引言1.1

2、 编写目的本详细设计说明书主要目的是对图像管理系统的功能设计进行详尽的说明。本说明书主要写了图像管理系统功能模块的详细设计,为后来的开发提供依据与参考。详细设计说明书面向人员有:程序设计人员、数据库设计人员,质量检测人员。1.2 背景a 项目名称:图像管理系统b 本项目的任务提出者:西安软件服务外包学院开发者:YOUNG REGIN GROUP 团队1.3 定义本系统属于开发小型的图像处理软件,主要用于实现图像的显示与批量转换操作。实现各种图像格式的显示。支持图像的单一转换与批量转换。实现位图的各种常规操作。1.4 参考资料C+程序设计,谭浩强,清华大学出版社; Visual C+项目开发案例

3、全程实录,梁水,李伟明著,清华大学出版社。图像处理模块2 程序系统的结构退出系统主窗体批量转换与处理照片处理PSD文件管理打开位图图像锐化处理图像反色处理图像旋转 位图转换成GIF图像浮雕效果水印效果批量处理PSD文件批量转换PSD文件浏览位图转换成GIF位图转换为PNG水印效果批量处理GIF转换成位图JPEG转换成位图位图转换成JPEG这是“图像管理系统”的整体系统结构图。3 系统整体及模块显示设计说明3.1 主窗口设计在这个系统里,主要实现用户登录进入系统后可以查询和添加相关信息。工作区菜单代码:m_wndToolBar.GetToolBarCtrl().SetImageList(&m_I

4、mageList);m_wndToolBar.SetButtonText(0,锐化处理);m_wndToolBar.SetButtonText(1,反色处理);m_wndToolBar.SetButtonText(2,图像旋转);m_wndToolBar.SetButtonText(3,图像平移);m_wndToolBar.SetButtonText(4,图像缩放);m_wndToolBar.SetButtonText(5,水印效果);m_wndToolBar.SetButtonText(6,位图转换JPEG);m_wndToolBar.SetButtonText(7,JPEG转换位图);m_

5、wndToolBar.SetButtonText(8,水印批量处理);m_wndToolBar.SetButtonText(9,PSD文件浏览);m_wndToolBar.SetButtonText(10,PSD批量转换);m_wndToolBar.SetButtonText(11,照片版式处理);设置状态栏,关联图标资源:UINT nID; /控制状态栏里面的分栏 m_wndStatusBar.SetPaneInfo(0,nID,SBPS_STRETCH|SBPS_NOBORDERS,100); /返回值存nID中 m_wndStatusBar.SetPaneText(0,就绪); m_wn

6、dStatusBar.SetPaneInfo(1,nID,SBPS_NORMAL,100); m_wndStatusBar.SetPaneText(1,大写); m_wndStatusBar.SetPaneInfo(2,nID,SBPS_POPOUT,100);m_wndStatusBar.SetPaneText(2,数字);/加载图像资源m_ImageList.Create(32, 32, ILC_COLOR32 | ILC_MASK, 1, 1);m_ImageList.Add(:AfxGetApp()-LoadIcon(IDI_ICON3);m_ImageList.Add(:AfxGet

7、App()-LoadIcon(IDI_ICON1);m_ImageList.Add(:AfxGetApp()-LoadIcon(IDI_ICON2);m_ImageList.Add(:AfxGetApp()-LoadIcon(IDI_ICON4);m_ImageList.Add(:AfxGetApp()-LoadIcon(IDI_ICON5);m_ImageList.Add(:AfxGetApp()-LoadIcon(IDI_ICON6);m_ImageList.Add(:AfxGetApp()-LoadIcon(IDI_ICON7);m_ImageList.Add(:AfxGetApp()-

8、LoadIcon(IDI_ICON8);m_ImageList.Add(:AfxGetApp()-LoadIcon(IDI_ICON9);m_ImageList.Add(:AfxGetApp()-LoadIcon(IDI_ICON10);m_ImageList.Add(:AfxGetApp()-LoadIcon(IDI_ICON11);m_ImageList.Add(:AfxGetApp()-LoadIcon(IDI_ICON12);3.2 图像旋转模块功能设计1.添加一个对话框类,类名为CImageRota。窗口如下:2.向对话框中添加按钮、文本框、单选按钮、滑块、图片控件。3.设置主要控件

9、属性,如下表所示:4.处理事件:void CImageRota:OnBtLoad() / TODO: Add your control notification handler code hereCFileDialog flDlg(TRUE,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,位图文件|*.bmp|,this);if (flDlg.DoModal()=IDOK)CString csFileName = flDlg.GetPathName();m_SrcFile = flDlg.GetPathName();m_BmpName.SetWindowText(

10、csFileName);if (m_hBmp != NULL)DeleteObject(m_hBmp);m_hBmp = NULL;m_hBmp = (HBITMAP)LoadImage(NULL,csFileName,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);if (m_hBmp)m_Image.SetBitmap(m_hBmp);m_bLoaded = TRUE;CFile file;file.Open(csFileName,CFile:modeRead);file.Read(&m_bmFileHeader,sizeof(BITMAPFILEHEADER);fil

11、e.Read(&m_bmInfoHeader,sizeof(BITMAPINFOHEADER);int szPalette = 0;if (m_bmInfoHeader.biBitCount != 24)file.Close();MessageBox(请选择真彩色位图!,提示);return;if (m_bmInfoHeader.biSizeImage = 0)int externWidth;/计算源位图每行使用的字节数externWidth = m_bmInfoHeader.biWidth * 3;if(externWidth % 4 != 0)externWidth = 4 - exter

12、nWidth % 4;elseexternWidth = 0;m_bmInfoHeader.biSizeImage = m_bmInfoHeader.biHeight*(m_bmInfoHeader.biWidth*3 +externWidth);int nBmpData = m_bmInfoHeader.biSizeImage;if (m_pBmpData != NULL)delete m_pBmpData;m_pBmpData = NULL;m_pBmpData = new BYTEnBmpData;file.ReadHuge(m_pBmpData,nBmpData);file.Close

13、();int sizeofbuffer = m_bmInfoHeader.biWidth * m_bmInfoHeader.biHeight * 4;int externWidth;externWidth = m_bmInfoHeader.biWidth * 3;if(externWidth % 4 != 0)externWidth = 4 - externWidth % 4;elseexternWidth = 0;int k = 0;BYTE* m_pImageTempBuffer = new BYTEsizeofbuffer;for (int n = m_bmInfoHeader.biHeight - 1; n = 0; n-) for (UINT m = 0; m m_bmInfoHeader.biWidth * 3

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号