ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:398.60KB ,
资源ID:5716464      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5716464.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图像处理系统详细设计说明书.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

图像处理系统详细设计说明书.docx

1、图像处理系统详细设计说明书案卷号日期图像处理系统详细设计说明书 作 者: YOUNG REGIN GROUP团队 完成日期: 2016.8.24 签 收 人: 签收日期: 修改情况记录:版本号修改批准人修改人修改日期签收人1.0杨开2016.8231.1杨开2016.824 1 引言1.1 编写目的本详细设计说明书主要目的是对图像管理系统的功能设计进行详尽的说明。本说明书主要写了图像管理系统功能模块的详细设计,为后来的开发提供依据与参考。详细设计说明书面向人员有:程序设计人员、数据库设计人员,质量检测人员。1.2 背景a 项目名称:图像管理系统b 本项目的任务提出者:西安软件服务外包学院开发者

2、:YOUNG REGIN GROUP 团队1.3 定义本系统属于开发小型的图像处理软件,主要用于实现图像的显示与批量转换操作。实现各种图像格式的显示。支持图像的单一转换与批量转换。实现位图的各种常规操作。1.4 参考资料C+程序设计,谭浩强,清华大学出版社; Visual C+项目开发案例全程实录,梁水,李伟明著,清华大学出版社。图像锐化处理图像反色处理图像旋转图像处理模块2 程序系统的结构 这是“图像管理系统”的整体系统结构图。3 系统整体及模块显示设计说明3.1 主窗口设计在这个系统里,主要实现用户登录进入系统后可以查询和添加相关信息。工作区菜单代码:m_wndToolBar.GetToo

3、lBarCtrl().SetImageList(&m_ImageList);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_wndT

4、oolBar.SetButtonText(7,JPEG转换位图); m_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中

5、 m_wndStatusBar.SetPaneText(0,就绪); m_wndStatusBar.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()-

6、LoadIcon(IDI_ICON3); m_ImageList.Add(:AfxGetApp()-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()-

7、LoadIcon(IDI_ICON7); m_ImageList.Add(:AfxGetApp()-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.添加一个对话框类,类名

8、为CImageRota。窗口如下:2.向对话框中添加按钮、文本框、单选按钮、滑块、图片控件。3.设置主要控件属性,如下表所示:4.处理事件:void CImageRota:OnBtLoad() / TODO: Add your control notification handler code here CFileDialog flDlg(TRUE,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,位图文件|*.bmp|,this); if (flDlg.DoModal()=IDOK) CString csFileName = flDlg.GetPathName()

9、; m_SrcFile = flDlg.GetPathName(); m_BmpName.SetWindowText(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,CF

10、ile:modeRead); file.Read(&m_bmFileHeader,sizeof(BITMAPFILEHEADER); file.Read(&m_bmInfoHeader,sizeof(BITMAPINFOHEADER); int szPalette = 0; if (m_bmInfoHeader.biBitCount != 24) file.Close(); MessageBox(请选择真彩色位图!,提示); return; if (m_bmInfoHeader.biSizeImage = 0) int externWidth; /计算源位图每行使用的字节数 externWid

11、th = m_bmInfoHeader.biWidth * 3; if(externWidth % 4 != 0) externWidth = 4 - externWidth % 4; else externWidth = 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_pBm

12、pData = NULL; m_pBmpData = new BYTEnBmpData; file.ReadHuge(m_pBmpData,nBmpData); file.Close(); int sizeofbuffer = m_bmInfoHeader.biWidth * m_bmInfoHeader.biHeight * 4; int externWidth; externWidth = m_bmInfoHeader.biWidth * 3; if(externWidth % 4 != 0) externWidth = 4 - externWidth % 4; else externWi

13、dth = 0; int k = 0; BYTE* m_pImageTempBuffer = new BYTEsizeofbuffer; for (int n = m_bmInfoHeader.biHeight - 1; n = 0; n-) for (UINT m = 0; m GetCheck(); if (nState) /预定角度 for (int nID = IDC_ROTATE45; nID GetCheck(); if (nState) CString csText; pButton-GetWindowText(csText); int nPos = csText.Find();

14、 nDegree = atoi(csText.Left(nPos); break; else /固定角度 UpdateData(FALSE); nDegree = m_nDegree; /确定旋转角度 RotationImage(&m_bmInfoHeader,nDegree); BYTE byByteAlign ; /位图行字节对齐 UINT outHeight = m_bmInfoHeader.biHeight; UINT outWidth = m_bmInfoHeader.biWidth; BYTE* pBmpData = new BYTE m_bmInfoHeader.biSizeIm

15、age; memset(pBmpData,0,m_bmInfoHeader.biSizeImage); BYTE * pListData =m_pBmpData+(DWORD)outHeight-1)*outWidth*4; if (outWidth %4 != 0) byByteAlign = 4- (outWidth*3L) % 4); else byByteAlign = 0; BYTE byZeroData = 0; BYTE* pTmpData = pBmpData; for (int y=0 ;youtHeight;y+) for (int x=0;xoutWidth;x+) me

16、mcpy(pTmpData,pListData,3); pTmpData += 3; pListData += 4; for (int i=0; im_hDC,&m_bmInfoHeader,CBM_INIT,pBmpData,&bInfo,DIB_RGB_COLORS); if (hBmp != NULL) :DeleteObject(hBmp); delete pBmpData; /设置滚动范围 CRect bmpRC,wndRC; m_ImagePanel.GetClientRect(wndRC); m_Image.GetClientRect(bmpRC); m_ImagePanel.O

17、nHScroll(SB_LEFT, 1, NULL); m_ImagePanel.OnVScroll(SB_LEFT, 1, NULL); m_ImagePanel.SetScrollRange(SB_VERT,0,bmpRC.Height()-wndRC.Height(); m_ImagePanel.SetScrollRange(SB_HORZ,0,bmpRC.Width()-wndRC.Width(); 8.处理保存按钮事件3.3 图像缩放模块设计1.新建一个对话框类,类名为CStretchImage,界面如下:2.向对话框中添加按钮、静态文本、群组框、滑块、复选框、图片等控件。3设置控件

18、属性如下:4处理、缩放、保存按钮事件。3.4 图片水印效果模块设计1.实现水印效果主要代码为:2.创建一个对话框类,类名为CImageWater。3.向对话框中添加按钮、静态文本、群组框、滑块、复选框、图片等控件。界面如下:4设置控件属性如下:5处理、缩放、保存按钮事件。3.5 照片版式处理模块设计1.创建一个对话框类,类名为CPhotoHandle。2.向对话框中添加按钮、静态文本、群组框、滑块、复选框、图片等控件。界面如下:3设置控件属性如下:4.处理、缩放、保存按钮事件。3.5 PSD文件浏览模块设计1.创建一个对话框类,类名为CPsdBrowse。2.向对话框中添加按钮、静态文本、群组

19、框、滑块、复选框、图片等控件。界面如下:3设置控件属性如下:4.处理、缩放、保存按钮事件。4 位图数据的存储形式在进行图像处理时,一个首要的问题是实现对位图数据的直接操作。位图主要由四部分组成,分别为位图文件头、位图信息头、调色板和实际的位图数据如下:,其中,位图文件头对应的结构为BITMAPFILEHEADER,共占用14个字节,定义如下:位图信息头对应的结构为BITMAPINFOHEADER,共占用40个字节,定义如下:5 限制条件1.位图数据每行的字节数必须是4的整数倍。2.位图数据是从下向上存储的。3.对于真彩图来说,每一行数据是按照BRG颜色顺序排列的。6 测试计划进入主界面预期结果点击图片旋转进行操作旋转效果点击图片缩放进行操作缩放效果点击水印效果进行操作水印效果点击照片版式进行操作查看效果点击退出退出程序

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1