MFC图像处理-图像移动显示算法
2013-07-11 12:48
260 查看
在我之前的一篇文章中MFC图像处理-图像扫描显示之基本窗口已经介绍了我怎么创建基本的窗口,可以模仿着创建响应图像处理的基本操作按钮。
图像移动显示的方式有很多种,可以根据自己的需要设计自己的显示算法,这里就只列出常见的四种方式:向上,向下,向左,向右。移动显示的基本思路是:把图像看成一块木板画 ,显示时必须按物理顺序进行
, 例如从上向下平移时 ,必须先显示下面的图像 ,
后显示上面的图像。
一、 向上移动显示
二、 向下移动显示
三、 向左移动显示
四、 向右移动显示
图像移动显示的方式有很多种,可以根据自己的需要设计自己的显示算法,这里就只列出常见的四种方式:向上,向下,向左,向右。移动显示的基本思路是:把图像看成一块木板画 ,显示时必须按物理顺序进行
, 例如从上向下平移时 ,必须先显示下面的图像 ,
后显示上面的图像。
一、 向上移动显示
// 向上移动显示图像,就是从下至上递增的显示图像的上部分,直至图像完全显示 for(int i = 0; i <= dibHeight; i++) { for(int j = 0; j <= dibWidth; j += 8) // 这个for语句是为了让移动显示图像时看起来更加平滑 { // 利用StretchDIBits函数将图像块复制到显示设备的特定区域 ::StretchDIBits(pDC->GetSafeHdc(), rect.left + (rect.Width() - dibWidth) / 2 + j, rect.top + (rect.Height() - dibHeight) / 2 + dibHeight - i, 8, i, j, dibHeight - i, 8, i, pDibData, pDibInfo, DIB_RGB_COLORS, SRCCOPY); } }
二、 向下移动显示
// 向下移动显示图像,就是从上至下递增的显示图像的下部分,直至图像完全显示 for(int i = 0; i <= dibHeight; i++) { for(int j = 0; j <= dibWidth; j += 8) // 这个for语句是为了让移动显示图像时看起来更加平滑 { // 利用StretchDIBits函数将图像块复制到显示设备的特定区域 ::StretchDIBits(pDC->GetSafeHdc(), rect.left + (rect.Width() - dibWidth) / 2 + j, rect.top + (rect.Height() - dibHeight) / 2, 8, i, j, 0, 8, i, pDibData, pDibInfo, DIB_RGB_COLORS, SRCCOPY); } }
三、 向左移动显示
// 向左移动显示图像,就是从右至左递增的显示图像的左部分,直至图像完全显示 for(int i = 0; i <= dibWidth; i++) { for(int j = 0; j <= dibHeight; j += 8) // 这个for语句是为了让移动显示图像时看起来更加平滑 { // 利用StretchDIBits函数将图像块复制到显示设备的特定区域 ::StretchDIBits(pDC->GetSafeHdc(), rect.left + (rect.Width() - dibWidth) / 2 + dibWidth - i, rect.top + (rect.Height() - dibHeight) / 2 + j - 8, i + 1, 8, 0, dibHeight - j, i + 1, 8, pDibData, pDibInfo, DIB_RGB_COLORS, SRCCOPY); } }
四、 向右移动显示
// 向右移动显示图像,就是从左至右递增的显示图像的右部分,直至图像完全显示 for(int i = 0; i <= dibWidth; i++) { for(int j = 0; j <= dibHeight; j += 8) // 这个for语句是为了让移动显示图像时看起来更加平滑 { // 利用StretchDIBits函数将图像块复制到显示设备的特定区域 ::StretchDIBits(pDC->GetSafeHdc(), rect.left + (rect.Width() - dibWidth) / 2, rect.top + (rect.Height() - dibHeight) / 2 + j - 8, i + 1, 8, dibWidth - i, dibHeight - j, i + 1, 8, pDibData, pDibInfo, DIB_RGB_COLORS, SRCCOPY); } }
相关文章推荐
- OpenCV 利用MFC的Picture控件显示和处理图像
- MFC中采用分段线性对比度处理图像并且显示在控件中
- MFC图像处理软件 地图 不显示图片对话框
- MFC图像处理-图像扫描显示之基本窗口
- [置顶] 第七章 KinectV2结合MFC显示和处理图像数据(下)
- MFC中使用openCV显示、处理图像
- (转)Opencv (Opencv2)结合MFC学习数字图像处理【3】---显示图片
- 利用MFC的Picture控件显示和处理图像
- OpenCV 利用MFC的Picture控件显示和处理图像
- Opencv (Opencv2)结合MFC学习数字图像处理【3】---显示图片
- OpenCV 利用MFC的Picture控件显示和处理图像
- MFC图像处理-图像扫描显示之扫描显示
- Opencv (Opencv2)结合MFC学习数字图像处理---显示图片
- MFC中使用openCV显示、处理图像
- OpenCV学习笔记(三):将图像显示在MFC控件上并做直方图均衡化处理
- 【数字图像处理】 二.MFC单文档分割窗口显示图片
- VS2012中MFC使用Picture Control显示OpenCV处理的图像
- MFC—PictureControl控件使用,显示和处理图像
- 数字图像处理MFC程序设计之图像的打开显示
- 利用MFC的Picture控件显示和处理图像