DentistryDoctor最后的分押上请教ICDecompress解压成功,但是她的输出BUF确没有数据
非常感谢!
我使用ICDecompress调用返回成功
int i_Return ;
pDecBuf = new BYTE[76032];
memset(pDecBuf,0,76032);
if(iter->second->GetKey() != 0){
biEncIn.bmiHeader.biSizeImage = iter->second->Size - 30;
i_Return = ICDecompress(hic,0,&(biEncIn.bmiHeader),iter->second->Data,&(_bmo.bmiHeader),pDecBuf);
}else{
biEncIn.bmiHeader.biSizeImage = iter->second->Size - 30;
i_Return = ICDecompress(hic,ICDECOMPRESS_NOTKEYFRAME,&(biEncIn.bmiHeader),iter->second->Data,&(_bmo.bmiHeader),pDecBuf);
}
if(i_Return == ICERR_OK){
//Success
//UpdatePanel();
HDC hdc;
hdc = GetDC(Panel->Handle);
HANDLE handle = DrawDibOpen();
if(iter->second->GetKey() != 0){
DrawDibDraw(handle,hdc,0,0,_bmo.bmiHeader.biWidth,_bmo.bmiHeader.biHeight,&(_bmo.bmiHeader),pDecBuf,0,0,_bmo.bmiHeader.biWidth,_bmo.bmiHeader.biHeight,0);
}else{
DrawDibDraw(handle,hdc,0,0,_bmo.bmiHeader.biWidth,_bmo.bmiHeader.biHeight,&(_bmo.bmiHeader),pDecBuf,0,0,_bmo.bmiHeader.biWidth,_bmo.bmiHeader.biHeight,DDF_NOTKEYFRAME);
}
DrawDibClose(handle);
ReleaseDC(Panel->Handle, hdc);
我通过Log记录发现调用解压缩肯定是成功了
画图也执行了,但是问题是:
我的DrawDibDraw 画出来的数据是什么也没有,就是一直黑屏幕!
明天就要给客户安装调试了,其他的问题已经解决了,就剩下这最后一个问题
老大们一定要帮小弟一把!