iImageDecoder->FrameInfo().iFrameDisplayMode);
iState = EDecoding;
//用活动对象进行解码,解码完成后。得到的数据即保存在iBitmap位图中。
iImageDecoder->Convert( &iStatus, *iBitmap );
SetActive();
注在解码过程中,遇到过USER 19/USER 42的错误,特提醒大家。异步函数在用到
局部变量的时候,局部函数已经被销毁了。但是异步函数可能仍然在用
SYMBIAN平台有自己的位图类。CFbsBitmap所有的图像显示都需要填充这个类的数据区才能画图。
SYMBIAN平台有JPEG解码的API(CImageDecoder),这样处理图像就简单多了。经研究发现这个类还可以解码GIF图像(在第三版上)。
那么如何用这个类进行JPEG数据流的解码呢?
1.创建CImageDecoder解码类句柄
iImageDecoder = CImageDecoder::DataNewL(iFs,*buf);//解码数据流用这种
iImageDecoder = CImageDecoder::FileNewL(iFs,fileNmae);//解码文件用这种
2.开始进行解码操作
iBitmap = new (ELeave) CFbsBitmap();//创建一个位图
//设置位图的像素,分便率,色深的属性
iBitmap->Create(iImageDecoder->FrameInfo().iOverallSizeInPixels,