鱼C论坛

 找回密码
 立即注册
查看: 3676|回复: 10

关于LoadImage函数的问题

[复制链接]
发表于 2016-3-27 17:58:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 zhangzheng232 于 2016-3-27 17:59 编辑
BOOL LoadImages()
{
        HBITMAP hBmp;
        BITMAP bm;
        TCHAR szFileName[MAX_PATH];
        WCHAR tmp[10];
        int i;
        
        for (i = 0; i < BMP_CNT; i++)
        {
                memset(szFileName, 0, MAX_PATH);
                wsprintf(szFileName, L"F:\\src\\%d.bmp", i + 1);
                hBmp = (HBITMAP)LoadImage(NULL, szFileName, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION);
                if (hBmp == NULL)
                {
                        wsprintf(tmp, L"Error Code:%d", GetLastError());
                        MessageBox(NULL, tmp, L"Error", MB_OK);
                        return FALSE;
                }
                GetObject(hBmp, sizeof(bm), &bm);
                g_sizeBmps[i].x = bm.bmWidth;
                g_sizeBmps[i].y = bm.bmHeight;

                g_hdcBmps[i] = CreateCompatibleDC(g_hdc);
                SelectObject(g_hdcBmps[i], hBmp);

                DeleteObject(hBmp);
        }
        return TRUE;
}
我的目的是依次读出位于F盘下src目录中的1.bmp~4.bmp
但LoadImage每次都返回NULL,更奇怪的是GetLastError()每次都返回0
然后我把szFileName直接写成绝对路径,还是一样的错误
我使用的是vs2013,请问大家这该怎么处理啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-3-27 22:55:58 | 显示全部楼层
http://baike.baidu.com/link?url= ... oQX5K2rrEOoC-iD0Fpa

需要装载外部图象时好像第一个参数不能为null
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-29 19:12:06 | 显示全部楼层
freeparty 发表于 2016-3-27 22:55
http://baike.baidu.com/link?url=WYrX2shklAFfw-PovCyOA6ZQX2Ofz9f-7NcrAYAhlwLl947n0n3D8pYB9dZ0M1kspfMo ...

不对啊,MSDN上有这么一句啊:
To load a stand-alone resource (icon, cursor, or bitmap file)—for example, c:\myimage.bmp—set this parameter to NULL.

https://msdn.microsoft.com/en-us/library/windows/desktop/ms648045%28v=vs.85%29.aspx
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-3-29 19:50:40 | 显示全部楼层
zhangzheng232 发表于 2016-3-29 19:12
不对啊,MSDN上有这么一句啊:
To load a stand-alone resource (icon, cursor, or bitmap file)—for e ...

加载外部图像时第一个参数得给NULL,内部图像才用instance,我搞错了,还有你加载的是不是一个标准位图文件呢,LoadImage只可以用来加载位图的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-29 20:14:27 | 显示全部楼层
freeparty 发表于 2016-3-29 19:50
加载外部图像时第一个参数得给NULL,内部图像才用instance,我搞错了,还有你加载的是不是一个标准位图文 ...

F:\src\1.bmp
我用的图像是用画图程序剪切后转化成bmp的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-29 20:16:26 | 显示全部楼层
freeparty 发表于 2016-3-29 19:50
加载外部图像时第一个参数得给NULL,内部图像才用instance,我搞错了,还有你加载的是不是一个标准位图文 ...

F:\src\1.bmp
我用的图像是用画图程序剪切后转化成bmp的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-3-29 21:32:28 | 显示全部楼层
zhangzheng232 发表于 2016-3-29 20:16
我用的图像是用画图程序剪切后转化成bmp的

我这边没有环境,不然的话帮你测试一下,你不如去群里找人测试一下。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-31 09:03:05 | 显示全部楼层
freeparty 发表于 2016-3-29 21:32
我这边没有环境,不然的话帮你测试一下,你不如去群里找人测试一下。

好的,谢谢,我再去试试!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-4-8 14:35:07 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-5-30 10:33:24 | 显示全部楼层
感谢分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-6-15 20:09:18 | 显示全部楼层
顶顶顶~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 01:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表