使用CxImage类加载文件缓存显示图片问题,急

yht7905907 2012-05-19 06:37:05
RT:
在加载是我使用了
DWORD dFileType = CxImage::GetTypeIdFromName(strType.c_str());//获取图片类型png等等
CxMemFile memFile(Buffer,lpNumberOfBytesRead);//通过缓存加载
以上都没有问题 但是走到下一步
CxImage cImage(&memFile,dFileType);
出现了
Debug Assertion Failed!
Program:e:\work\src\File
File:f:\dd\vctools\crt_bld\self_x86\crt\src\dbgheap.c
Line:1317

Expression:_CrtIsValidHeapPointer(pUserData)
For information on how your program can cause an assertion
failure,see the Visual C++ documentation on asserts.
(Press Retry to debug the application)
这个错误。纠结了好几天。奇怪的是有的图片没有出现这个问题,有的就出现了。郁闷
我测了下 好像就是png类型的图片才出现了这个问题
...全文
332 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
浩_南_哥 2013-01-22
  • 打赏
  • 举报
回复
lz问下是如何解决的,跪求解决方法~
yht7905907 2012-05-22
  • 打赏
  • 举报
回复
谢谢4楼5楼以及各位的支持,解决了。
nyb 2012-05-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

你这么做 试试 我以前都这么做的

DWORD dFileType = CxImage::GetTypeIdFromName(strType.c_str());//获取图片类型png等
BYTE* pBuff = NULL;
LONG lLength = 0;
CxImage img;
img.Load(szFileName);
img.Encode(pBuff, lLength……
[/Quote]
CxImage img;
img.Decode(pBuff, lLength……
搬砖的奶霸 2012-05-21
  • 打赏
  • 举报
回复
你这么做 试试 我以前都这么做的

DWORD dFileType = CxImage::GetTypeIdFromName(strType.c_str());//获取图片类型png等
BYTE* pBuff = NULL;
LONG lLength = 0;
CxImage img;
img.Load(szFileName);
img.Encode(pBuff, lLength, dFileType);
图形转成数组//然后随便你处理了
lijianli9 2012-05-21
  • 打赏
  • 举报
回复
lz校验下返回值?
yht7905907 2012-05-21
  • 打赏
  • 举报
回复
CxImage cImage(&memFile,dFileType);这步进不去。

有没有和我遇到一样问题的朋友
小马喝水 2012-05-20
  • 打赏
  • 举报
回复
看上去是断言的警告,一般是逻辑层的错误,楼主最好是调试跟踪一下在哪个地方引起的断言,同时哪正常的图片和出问题的图片调试,观察出问题的地方在两次调试中的不同点

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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