日期:2009年7月6日 | 来源:看文章 | 编辑14id | 看文章
Symbian OS不仅原生支持Bitmap位图,还以使CImageDecoder类jpeg/gif/png类型图像进行编码解码。
CImageDecoder以从文创建,以从描述符创建,具体创建参看SDK。
CImageDecoder结合活动象使,使简单:
void CImageHelper::LoadPngImageL(TDesC& aFileName, CFbsBitmap* aBitmap, CFbsBitmap* aBitmapMask)
{
if (iImgDecoder)
{
iImgDecoder->Cancel();
delete iImgDecoder;
iImgDecoder = NULL;
}
// 获图片
iImgDecoder = CImageDecoder::FileNewL(iFs, aFileName, KMIMEType);
TSize size = iImgDecoder->FrameInfo().iOverallSizeInPixels;
TDisplayMode mode = iImgDecoder->FrameInfo().iFrameDisplayMode;
// 创建位图
User::LeaveIfError(aBitmap->Create(size, mode));
User::LeaveIfError(aBitmapMask->Create(size, EGray256));
// 调转换异步函数
iStatus = KRequestPending;
iImgDecoder->Convert(&iStatus, *aBitmap, *aBitmapMask);
SetActive();
iActiveSchedulerWait->Start();
}
其,KMIMEType图像文MIME类型,应jpeg、gif、png分别image/jpeg、image/gif、image/png。