如何在VC++6.0中插入一幅png类型的图片资源

 我来答
匿名用户
2015-04-02
展开全部
//下边是一个从磁盘读取任一BMP文件的函数,然后显示在窗体指定坐标上。
OnOpenBMPImage()
{
CFileDialog fileDlg(true,(LPCTSTR)_T("BMP file"),(LPCTSTR)_T("*.bmp"),OFN_HIDEREADONLY,(LPCTSTR)_T("BMP FILE|*.bmp"),NULL);
if(fileDlg.DoModal() == IDOK)
{
HBITMAP m_hBmp=(HBITMAP)LoadImage(NULL,fileDlg.GetPathName(),IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
CClientDC dc(this);
CBitmap bmp;
bmp.Attach(m_hBmp);
CDC memdc;
memdc.CreateCompatibleDC(&dc);
memdc.SelectObject(&bmp);
BITMAP BitInfo;
bmp.GetBitmap(&BitInfo);
int x = BitInfo.bmWidth;
int y = BitInfo.bmHeight;
dc.BitBlt(0,0,x,y,&memdc,0,0,SRCCOPY);
bmp.Detach();
memdc.DeleteDC();
}
UpdateData(false);
}

首先假设你已经有了一个单文档的框架,
1。在资源中导入位图:右键-〉Insert,选择Bitmap,然后点击导入,选择你要显示的位图
2。设置map的ID,在Bitmap的位置下右键选择刚才导入的位图,选择properties,假设你设置
ID为IDB_MAP;
以下步骤在视图类的OnDraw函数中进行,如果需要在其他函数中进行,可必须通过
CDC
*pDC = GetDC();获得设备上下文的指针。
3。创建位图:
CBitmap
bitmap;
bitmap.LoadBitmap(IDB_MAP);
4。创建兼容的DC:
CDC
dc;
dc.CreateCompatibleDC(pDC);
5。将位图选到兼容DC中:
dc.SelectObject(&bitmap);
6。将兼容DC中的位图贴到现在DC中:
CRect
rect;
。。。。//根据位图大小和你想显示的位置设置rect;
pDC->BitBlt(rect.left,rect.top,rect.Width(),rect.Height(),&dc,0,0,SRCCOPY);
关于函数的意义可以参考MSDN.

参考 http://bbs.bccn.net/thread-110180-1-1.html
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式