void GetPngPicture(const TDesC& filename,CFbsBitmap* iBitmap,CFbsBitmap* iBmpMask )
{
CImageDecoder* idecoder;
TRAPD(err,idecoder = CImageDecoder::FileNewL(CEikonEnv::Static()->FsSession(),
filename ,_L8("image/png"),
CImageDecoder::EOptionAlwaysThread));
if(err !=KErrNone)
{
return;
}
TFrameInfo iFrameInfo = idecoder->FrameInfo(0);
int nFrameCount = idecoder->FrameCount();
iBitmap->Create(iFrameInfo.iOverallSizeInPixels,iFrameInfo.iFrameDisplayMode );
iBmpMask->Create(iFrameInfo.iOverallSizeInPixels,EGray256 );
TRequestStatus aStatus = KRequestPending;
TRAPD(err1,idecoder->Convert( &aStatus, *iBitmap, *iBmpMask));
//TRAPD(err1,idecoder->Convert( &aStatus, *iBitmap, 0));
User::WaitForRequest( aStatus );
delete idecoder;
}
本文介绍了一个用于从PNG文件中获取图片信息的方法。通过使用CImageDecoder类,该方法能够读取指定路径下的PNG文件,并将其转换为CFbsBitmap格式的图片及其对应的遮罩层。文章详细展示了如何创建解码器实例、获取图片帧信息、创建目标位图以及执行转换操作。
1225

被折叠的 条评论
为什么被折叠?



