Symbian编程总结图形图像篇打开非Bitmap类型的图像(转)

Symbian

赞助商

Symbian OS不仅原生的支持Bitmap位图,还可以使用CImageDecoder类对jpeg/gif/png类型的图像进行编码和解码。
CImageDecoder可以从文件创建,也可以从描述符中创建,具体创建方法请参看SDK。
CImageDecoder要结合活动对象使用,使用的方法很简单:

  1. void CImageHelper::LoadPngImageL(TDesC& aFileName, CFbsBitmap* aBitmap, CFbsBitmap* aBitmapMask)
  2.     {
  3.     if (iImgDecoder)
  4.         {
  5.         iImgDecoder->Cancel();
  6.         delete iImgDecoder;
  7.         iImgDecoder = NULL;
  8.         }
  9.     // 获取图片
  10.     iImgDecoder = CImageDecoder::FileNewL(iFs, aFileName, KMIMEType);
  11.     TSize size = iImgDecoder->FrameInfo().iOverallSizeInPixels;
  12.     TDisplayMode mode = iImgDecoder->FrameInfo().iFrameDisplayMode;
  13.     // 创建位图
  14.     User::LeaveIfError(aBitmap->Create(size, mode));
  15.     User::LeaveIfError(aBitmapMask->Create(size, EGray256));
  16.     // 调用转换异步函数
  17.     iStatus = KRequestPending;
  18.     iImgDecoder->Convert(&iStatus, *aBitmap, *aBitmapMask);
  19.     SetActive();
  20.     iActiveSchedulerWait->Start();
  21.     }

复制代码

其中,KMIMEType为图像文件的MIME类型,对应jpeg、gif、png分别为image/jpeg、image/gif、image/png。

原文地址:https://www.cnblogs.com/yaoliang11/p/1801704.html