用loadbitmap怎么加载位图到exe中

用loadbitmap怎么加载位图到exe中,第1张

1 静态加载,孙芹蚂定义资源IDB_BITMAP1 BITMAP 相对路径2 动态加载,用::LoadImage()API然后CBitmap::Attach()即可LoadBitmap是从EXE、DLL文件中加载,不是从硬盘加载!DrawPicture(hwnd){PAINTSTRUCT psHDC hdcHDC hdcmemHBITMAP hBmBITMAP bm//hBm=::LoadBitmap(NULL,D:\\Test.bmp)//则埋hBm=::LoadBitmap(IDB_BITMAP1)// hBm=::LoadBitmap(D:\\Test.bmp)//HINSTANCE hInst=GetModuleHandle(this)hBm = (HBITMAP)LoadImage(NULL,d:\首袭\Test.bmp,IMAGE_BITMAP,640,480,LR_LOADFROMFILE)//hBm=::LoadBitmap(GetModuleHandle(this),MAKEINTRESOURCE(IDB_BITMAP1))//获取位图尺寸

mfc里导入 图片资源,自动生成一个资源id(自己改名肆茄也可以)比如IDB_BITMAP1

然后

CBitmap bitmap

bitmap.LoadBitmap(IDB_BITMAP1)

显示出来的话再接着用dc就可以了

-------------

那试喊雹雹试这样

m_bitmap.m_hObject = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),

_T("对应路郑帆径...\\bitmap1.bmp"),

IMAGE_BITMAP,

0, 0,

LR_LOADFROMFILE | LR_CREATEDIBSECTION)

LoadBitmap只能从用资源ID装载位图,而且装载后的位图数据是与设培中陵备相培慎关的,就是说如果原位图是32位的,可计算机显示设备是24位的,则LoadBitmap后内存中的位图数据是24位的,LoadImage是可以通过配戚文件转载位图,装载后的位图数据位会不会改变没有试过,根据你的情况,可以自己打开位图文件获取位图数据,不过要了解位图文件格式。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12133645.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存