首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

CxImage:Encode时程序崩溃解决思路

2012-01-29 
CxImage::Encode时程序崩溃内存中,我得到一张位图(HBITMAP hbmp),现在我想用CxImage在内存中,把BMP数据转

CxImage::Encode时程序崩溃
内存中,我得到一张位图(HBITMAP hbmp),现在我想用CxImage在内存中,把BMP数据转换成JPG数据,代码如下: 

C/C++ code
CxImage img;img.CreateFromHBITMAP(hbmp);long size=0;//得到图像大小BYTE* buffer=0;//存储图像数据的缓冲img.Encode(buffer, size, CXIMAGE_FORMAT_JPG);//把image对象中的图像以type类型数据copy到buffer

在image.Encode时,程序崩溃了,提示信息:

Windows 已在 XXX.exe 中触发一个断点。
其原因可能是堆被损坏,这也说明 XXX.exe 中或它所加载的任何 DLL 中有 bug。
输出窗口可能提供了更多诊断信息

第一次使用CxImage,先谢谢大家了:)

[解决办法]
你的buffer没有分配内存空间??
就不知道它的CxImage类中的Encode函数里有没有对buffer分配空间的操作,你可以到他的源代码看看
[解决办法]
恩,应该是buffer没有分配空间的问题
[解决办法]
有没有想过可能是你的img这个玩意儿出现了问题,img真的保存了一幅图像?
[解决办法]
CXImage或者GDI+
NB点的用OPENCV
[解决办法]
C/C++ code
BYTE* buffer=0;//存储图像数据的缓冲img.Encode(&buffer, size, CXIMAGE_FORMAT_JPG); 

热点排行