大家好,我是symbian初学者,目前在png贴图技术很茫然,向大家征求一个png的简单贴图示例(baboai@163.com),本人在线等候......thanks
------解决方案--------------------------------------------------------
可参考Examples\multimedia
------解决方案--------------------------------------------------------
1)===================== 解码,获得iBitmap 和遮罩位图iBitmask
// create the decoder
iImageDecoder = CImageDecoder::FileNewL( iFs, aFileName, CImageDecoder::EAllowGeneratedMask);
TFrameInfo frameInfo = iImageDecoder-> FrameInfo();
// 请注意frmaeInfo的 iFlags 是否标示出这个图片支持ETransparencyPossible
// create the destination bitmap
iBitmap = new (ELeave) CFbsBitmap();
iBitmap-> Create( iImageDecoder-> FrameInfo().iOverallSizeInPixels,
iImageDecoder-> FrameInfo().iFrameDisplayMode );
iBitmask = new (ELeave) CFbsBitmap();
TInt r = iBitmask-> Create(iImageDecoder-> FrameInfo().iOverallSizeInPixels, EGray256);
if (KErrNone == r) {
// start conversion to bitmap
iState = EDecoding;
iImageDecoder-> Convert( &iStatus, *iBitmap, *iBitmask );
SetActive();
}
2) =============== 显示。
gc.BitBltMasked(TPoint(0,0), iBitmap, iBitmask-> SizeInPixels(), iBitmask, ETrue);
------解决方案--------------------------------------------------------
S60_Platform_Image_Converter_Example_v2_0_en
去找。