微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

LoadImage在8位图像中失败

我有这个代码的问题,当我加载8位BMP文件

HBITMAP hbm = LoadImageW(NULL,L"C:\Test.bmp",IMAGE_BITMAP,LR_LOADFROMFILE);

HBITMAP为0, GetLastError也返回0。

哪里有问题 ?

我在stackoverflow上看到类似的问题,但是这个代码只在8位位图上失败。

快速获取组员资格

Python – Windows最大目录path长度解决方法

/与 CMD中的可执行文件的相对path和C系统函数

如何使C ++程序侦听系统命令

W8电话System.Xml.XmlException&

MSDN对此行为一无所知。

感谢您的回答或任何build议。

编辑:相同的位图加载资源工作正常

操作系统:Windows XP SP2

编辑2:我昨天testing用Photoshop打开这个图像 – 罚款,MSPAINT – 罚款,微软代理字符编辑器 – 失败,我的应用程序 – 失败! 今天testing – 现在工作! 再次testing10分钟前 – 不工作。 可能是某种锁? 我发现类似的问题: http : //social.msdn.microsoft.com/Forums/pl-PL/vcmfcatl/thread/df4aa858-6d59-402d-8d96-6414774fed31

如何使用Anaconda Python执行.py文件

编写一个Windows程序更新,权限问题

使用IStream接口访问剪贴板

性能 – 如何连接C-sharp和C ++对性能的影响?

Pyodbc错误数据源名称未find,没有认驱动程序指定悖论

好。 我发现了什么问题。

问题是不正确的设置BITMAPINFOHEADER biSizeImage成员。

但是当我测试了两张图片(80×80,128×128)之后,我觉得很有意思。

LoadImage仍然成功地加载了不正确的biSizeImage从0实际大小+ 1052的图像 。 例如,对于80×80图像, biSizeImage必须是6400,但LoadImage将biSizeImage设置为0或1,或者6401或6402 …加载图像,但在设置7453后失败。

仍然有问题,为什么LoadImage成功地从任何biSizeImage值的资源加载图像。

尝试使用GDI +。 它有更多的图像处理功能: http : //msdn.microsoft.com/en-us/library/windows/desktop/ms535411(v=vs.85).aspx

由于该文件在C: ,也许你没有权限访问它? 尝试把它放在桌面上或我的文档。

此外,更新到XP SP3不会伤害。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐