MFC图像处理-图像扫描显示之扫描显示

本文档详细介绍了如何使用MFC进行图像扫描显示的实现过程,包括在文档类中添加成员变量,处理打开文件菜单消息,初始化图像数据,创建调色板,以及实现扫描显示的算法。通过一行行复制图像并间隔显示时间,达到逐行扫描的视觉效果。
摘要由CSDN通过智能技术生成

接上一章

一、在文档类中添加两个CDib成员变量:m_dib, m_newDib,一个int 成员变量m_stateDoc和一个CString成员变量m_fileName:

 

int m_stateDoc; // 用于判断是否打开了文件
CDib m_newDib; // CDib类对象保存图像,用于获取一些必要的信息
CDib m_dib; // CDib类对象保存原图数据,在初始化图像数据时有用
CString m_fileName; // 保存图像名称路径


 

二、在文档类中添加打开文件菜单的消息处理:

 

void CScanPictureDoc::OnFileOpen()
{
	// TODO: Add your command handler code here

	// 创建打开文件对话框
	CFileDialog dlg(TRUE, _T("BMP"), _T("*.BMP"), OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T("位图文件(*.BMP)|*.BMP|"));

	if(IDOK == dlg.DoModal())

	{// 文件打开成功后,获取文件路径,并把图像载入m_dib和m_newDib两个类中,m_stateDoc = 1表明文件已打开

		m_fileName.Format("%s", dlg.GetPathName());
		m_dib.LoadFile(m_fileName);
		m_newDib.LoadFile(m_fileName);
		m_stateDoc = 1;
	}
}


三、在View窗口类中添加两个CDib *成员变量:m_pDib, m_pNewDib和一个int成员变量m_state,并且添加初始化图像数据的成员函数InitializePictureData

void CScanPictureView::InitializePictureData()

{

	// 获取保存的文档

	CScanPictureDoc * pDoc = GetDocument();
	ASSERT_VALID(pDoc);

	m_state = 1;  // 表明已经从文档中获取数据
	// 如果文档中已经
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值