CBitmap的问题。

wangsiyuanoo 2009-10-30 05:52:04
只知道一个BMP图片的路径
如何根据这个路径得到这个图片指向CBitmap的指针?
...全文
85 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cynthia_zxx 2009-11-01
  • 打赏
  • 举报
回复
CBitmap bitmap;
bitmap.Attach(hBitmap);

//CBitmap::GetBitmap可以得到BITMAP类型的一个结构体,根据这个结构体填充BITMAPFIELHEADER指针


bitmap.Detach();
huangxiaohu_coder 2009-10-31
  • 打赏
  • 举报
回复
LOADIMAGE或者网上去下载一个CDIB类用吧,硬盘上的位图都是设备无关位图的。CBITMAP获得的都是设备相关位图的
xiuxiu6 2009-10-30
  • 打赏
  • 举报
回复
LoadImage
webing520 2009-10-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 anglecloudy 的回复:]
用LoadImage吧,
C/C++ code
HBITMAP cbmp=(HBITMAP)LoadImage(NULL,"res/bg.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);

它可以得到HBITMAP,基本所有以CBitmap为参数的函数,都可以用HBITMAP代替

CBitmap对路径支持不好
[/Quote]
这样可以,根据以上的,写了一个函数,看能否适合楼主

GetBimap(LPCTSTR lpszSourceName, CBitmap* bitmap)
{
HBITMAP hbmp=(HBITMAP)LoadImage(AfxGetInstanceHandle(),lpszSourceName,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION|LR_DEFAULTCOLOR);
if(hbmp==NULL)
return false;
bitmap->Detach();
bitmap->DeleteObject();
bitmap->Attach(hbmp);
return true;
}
OenAuth.Core 2009-10-30
  • 打赏
  • 举报
回复
用LoadImage吧,

HBITMAP cbmp=(HBITMAP)LoadImage(NULL,"res/bg.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);


它可以得到HBITMAP,基本所有以CBitmap为参数的函数,都可以用HBITMAP代替

CBitmap对路径支持不好
wangsiyuanoo 2009-10-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bragi523 的回复:]
HBITMAP LoadBitmap(
  HINSTANCE hInstance,  // handle to application instance
  LPCTSTR lpBitmapName  // name of bitmap resource
);
[/Quote]
这个参数是不是只能是图片的资源ID
我的意思是一个参数是图片路径的函数来得到指向CBitmap的指针
bragi523 2009-10-30
  • 打赏
  • 举报
回复
HBITMAP LoadBitmap(
HINSTANCE hInstance, // handle to application instance
LPCTSTR lpBitmapName // name of bitmap resource
);

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧