在MFC的图片控件中完整显示位图

本文介绍如何在MFC应用程序中使用图片控件显示位图,强调位图路径的重要性以及移植性的考虑。代码示例展示了如何加载相对路径的位图,并提醒读者了解位图结构,可参考作者的其他相关博文。
摘要由CSDN通过智能技术生成

  1. res\\123.bmp为位图的相对路径(也可写成绝对路径,不过硬编码移植性不好,不推荐);
  2. IDC_STATIC_PIC是对话框程序中图片控件(Picture Control)的ID;
  3. 如果对位图结构不理解,请参考我的另一篇博文——windows位图结构 https://blog.csdn.net/u014261408/article/details/90109964 。

C++代码如下:

BITMAPFILEHEADER bmpFileHeader;
BITMAPINFOHEADER bmpInfoHeader;
CFile bmpFile;
if (!bmpFile.Open(_T("res\\123.bmp"), CFile::modeRead | CFile::typeBinary))
    AfxMessageBox(_T("open wrong!"));

//读取位图的文件头和信息头
if (bmpFile.Read(&bmpFileHeader, sizeof(BITMAPFILEHEADER)) != sizeof(BITMAPFILEHEADER))
    AfxMessageBox(_T("read1 wrong!"));
if (bmpFile.Read(&bmpInfoHeader, sizeof(BITMAPINFOHEADER)) != sizeof(BITMAPINFOHEADER))
    AfxMessageBox(_T("read2 wrong!"));
    
//为指针开辟空间,BITMAPINFO结构定义如下
//typedef struct tagBITMAPINFO {
// BITMAPINFOHEADER bmiHeader;
//
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值