C++怎么直接在win32程序中显示图片?

 我来答
匿名用户
2013-03-11
展开全部
win32 console application?那玩意显示不了图片。你在建立工程的时候选择w32application才行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
回首茫茫空余恨
2017-10-07 · TA获得超过795个赞
知道小有建树答主
回答量:1001
采纳率:45%
帮助的人:203万
展开全部
一个示例,参考一下:
CString sStartBmp = “C:\\startbmp\\start.jpg";
IStream *pStm = NULL;
CFileStatus fstatus;
CFile file;
LONG cb;
if (file.Open(sStartBmp,CFile::modeRead)&&file.GetStatus(sStartBmp,fstatus)&& ((cb = fstatus.m_size) != -1))
{
HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, cb);
LPVOID pvData = NULL;
if (hGlobal != NULL)
{
if ((pvData = GlobalLock(hGlobal)) != NULL)
{
file.ReadHuge(pvData, cb);
GlobalUnlock(hGlobal);
CreateStreamOnHGlobal(hGlobal, TRUE, &pStm);
}
}
file.Close();
}

CRect rc;
GetClientRect(rc);
CDC memDC;
memDC.CreateCompatibleDC(pDC);
CBitmap bmp;
bmp.CreateCompatibleBitmap(pDC,rc.Width(),rc.Height()-30);
memDC.SelectObject(&bmp);
memDC.FillSolidRect(0,0,rc.Width(),rc.Height()-30,COLOR_AQUA);

if(pStm != NULL)
{
IPicture *pPic = NULL;
if(SUCCEEDED(OleLoadPicture(pStm,fstatus.m_size,TRUE,IID_IPicture,(LPVOID*)&pPic)))
{
OLE_XSIZE_HIMETRIC hmWidth;
OLE_YSIZE_HIMETRIC hmHeight;
pPic->get_Width(&hmWidth);
pPic->get_Height(&hmHeight);
pPic->Render(memDC,0,0,rc.Width(),rc.Height()-30,0,hmHeight,hmWidth,-hmHeight,NULL);
pPic->Release();
}
pStm->Release();
}
pDC->BitBlt(0,0,rc.Width(),rc.Height()-30,&memDC,0,0,SRCCOPY);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
亚马逊选品管家
2013-03-10 · TA获得超过643个赞
知道小有建树答主
回答量:805
采纳率:100%
帮助的人:283万
展开全部
首先你得确定要显示在哪?因为显示图片是需要一个窗体的。
然后去考虑如何显示,比如加载图片,然后用GDI函数绘制。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lvjian_1976
2017-10-16 · TA获得超过256个赞
知道答主
回答量:117
采纳率:75%
帮助的人:38.2万
展开全部
原生C++(不适用类似WCF)使用CImage库、OpenCV库等;
VC++ 使用GDI/GDI+库,简单点儿的直接使用pictureBOX控件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2976c9b
2013-03-10 · TA获得超过1555个赞
知道小有建树答主
回答量:934
采纳率:0%
帮助的人:712万
展开全部
可以添加bmp文件到一个图片控件上
追问
可是我不是MFC的,我的是控制台程序。
追答
..不是MFC也可以的,但是是控制台我就不知道了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式