VC中使用MFC显示位图的方法

 

void CShowBitmapView::OnDraw(CDC* pDC)
{
CShowBitmapDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);

// TODO: add draw code for native data here
//在视图中显示一副图像

HBITMAP hBitmap = (HBITMAP) LoadImage(NULL, "d://test.bmp",IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE);

//定义一个位图对象
CBitmap m_bitmap;

//将位图句柄与位图对象相连接
m_bitmap.Attach(hBitmap);

//位图信息结构
BITMAP bm;

//将位图数据存入位图结构
m_bitmap.GetBitmap(&bm);

//源
CDC dcImage;

dcImage.CreateCompatibleDC(pDC);
dcImage.SelectObject(&m_bitmap);

//画图
pDC->BitBlt(0,0,bm.bmWidth,bm.bmHeight,&dcImage,0,0,SRCCOPY);

}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在MFC显示读取的参数像可以通过以下步骤实现: 1. 首先,你需要在MFC应用程序的资源文件夹添加一个静态片控件。你可以在资源视选择对应的对话框,然后右键点击添加控件,在控件列表选择“Picture Control”并添加到对话框。 2. 接下来,在你的对话框类,找到OnInitDialog函数并添加以下代码: ``` CStatic* pImageControl = (CStatic*)GetDlgItem(IDC_STATIC_IMAGE); // 将IDC_STATIC_IMAGE替换为你在资源文件添加的片控件的ID CImage image; image.Load(_T("path_to_your_image")); // 替换为你的像路径 pImageControl->SetBitmap(image.Detach()); // 将显示到控件 ``` 3. 最后,你需要在你要显示像的地方调用UpdateData()函数来更新对话框的控件。你可以在你的程序的任何地方调用它,例如在按钮点击事件或者在像读取成功后。 ``` UpdateData(FALSE); // 显示最新的像 ``` 这样,在MFC应用程序,你就可以显示读取的参数像了。请确保替换代码的路径和控件ID为你自己的实际值,并且像文件格式与Load函数支持的一致。 ### 回答2: 首先,在MFC应用程序,我们可以使用CImage类来加载和显示像。下面是一个简单的步骤,用于在VC显示读取的参数像: 1. 首先,确保已将像文件添加到项目,并将其包含在您的源代码文件,以便可以访问像的路径。 2. 在您的对话框类,声明一个CImage成员变量,例如: CImage m_Image; 3. 在OnInitDialog()方法,加载像文件到CImage对象,例如: m_Image.Load(_T("像文件路径")); 4. 然后,获取像的宽度和高度,并将其用作绘区域的大小,例如: int nWidth = m_Image.GetWidth(); int nHeight = m_Image.GetHeight(); CRect rect; GetDlgItem(IDC_STATIC_PICTURE)->GetClientRect(rect); // 假设您在对话框上有一个静态文本控件ID为IDC_STATIC_PICTURE rect.right = rect.left + nWidth; rect.bottom = rect.top + nHeight; 5. 创建一个DC并选择绘区域,然后在绘区域上绘制像,例如: CDC* pDC = GetDlgItem(IDC_STATIC_PICTURE)->GetDC(); m_Image.Draw(pDC->m_hDC, rect); 6. 最后,释放DC并刷新静态文本控件,使显示在对话框上,例如: GetDlgItem(IDC_STATIC_PICTURE)->ReleaseDC(pDC); GetDlgItem(IDC_STATIC_PICTURE)->Invalidate(); 这样,您就可以在VCMFC应用程序显示读取的参数像了。请注意替换实际的像文件路径和静态文本控件ID以适应您的应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值