用CImage::LoadFromResource加载JPG时遇到的问题

minioreo 2007-05-29 04:38:53
在VC2005里头添加资源 选 1添加资源 2导入 3选中我的JPG图片确定 4填写类别“JPG” 导入以后看到二进制文件开头是BM开头的 难道变成BMP了?
然后我在程序里写了如下代码
m_imgImage.LoadFromResource(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_JPG1));

if(m_imgImage.IsNull())
{
CString err;
err.Format(TEXT("%d"),GetLastError());
MessageBox(err);
}
其中m_imgImage 是CImage类的成员
在stdafx.h头文件末尾添加了如下头文件
#include <atlimage.h>

然后程序运行的时候就得到了错误代码1814 查了MSDN说是找不到该文件 。。。
如果我换成另外一个位图 就没有问题了
把m_imgImage.LoadFromResource(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_JPG1));换成m_imgImage.LoadFromResource(AfxGetInstanceHandle(),IDR_JPG1);还是1814
郁闷 难道m_imgImage.LoadFromResource只能加载位图

不过我用m_imgImage.Load可以正常加载硬盘上的JPG并正确显示 这个问题困扰了好几天了。。。
...全文
808 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
搬砖道人 2011-11-24
  • 打赏
  • 举报
回复
你跟过去看一下,LoadFromResource实际上是调用LoadImage 这个API,所以只能加载icon, cursor, animated cursor, or bitmap。要从资源加载其它格式得自己处理。
cosobin 2007-06-02
  • 打赏
  • 举报
回复
::FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM |FORMAT_MESSAGE_ARGUMENT_ARRAY,
0,
wErrorCode,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR)&lpszTemp,
0,
0
);
看看报的什么错误信息

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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