首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows GDI Context- LoadImage和GetLastError()

Windows GDI Context- LoadImage和GetLastError()
EN

Stack Overflow用户
提问于 2011-10-31 04:19:18
回答 2查看 1.7K关注 0票数 1

在我的程序的前几步调用LoadImage()将返回NULL。紧接着调用GetLastError(),令人惊讶地返回0。我想知道为什么LoadImage()会失败,因为GetLastError()清楚地表明在失败的函数之后没有设置错误代码。这是代码的一小段:

代码语言:javascript
复制
if ( (hbitmap = (HBITMAP) LoadImage(hThisInstance, MAKEINTRESOURCE(MY_BITMAP), 
                                    IMAGE_BITMAP, 0, 0, 
                                    LR_CREATEDIBSECTION)) == NULL) 
    printf("Last error: %d\n", GetLastError());

使用hbitmap HBITMAP、HINSTANCE hThisInstance (WinMain的参数)和MY_BITMAP作为有效的位图资源。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-08 14:31:43

显然,当文件格式出现问题时,LoadImage会返回NULL,并且不会设置任何错误。

我试图加载的位图的副本可以在here中找到。我是使用GIMP创建的,在当前版本中GIMP存在相当多的buggy。

解决方案是在Paint中打开该文件,然后再次保存。现在,LoadImage加载图像时没有任何抱怨。

票数 5
EN

Stack Overflow用户

发布于 2014-10-17 02:55:33

我在最新版本的GIMP中发现了完全相同的行为。当你从Gimp导出时,选择兼容性选项+按钮并选中“不要写入色彩空间信息”复选框,位图将使用LoadImage正常加载。编辑:我现在看到了之前的评论,否则我可能不会写了!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7947560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档