本文主要是介绍在S60加载Bitmap和Mask的效率,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在S60加载Bitmap和Mask的效率
From Forum Nokia Wiki
_LIT(KYourMifFile, “resource//apps//yourmif.mif”);
//yourmif.mif contains svgs
include <yourmif.mbg> in .cpp file
// In header file
CFbsBitmap* iFocusBitmap;
CFbsBitmap* iBitmapMask;
// anywhere in .cpp file
if(iFocusBitmap == NULL)
{
// load the image and mask
AknIconUtils::CreateIconL( iFocusBitmap,
iBitmapMask,
KYourMifFile,
EMbmYourMif_focus,
EMbmYourMif_mask );
}
TSize size(Rect().Width()*10/100,Rect().Height()*10/100);
AknIconUtils::SetSize(iFocusBitmap,size,EAspectRatioNotPreserved);
AknIconUtils::SetSize(iBitmapMask,size,EAspectRatioNotPreserved );
// In the destructor
delete iFocusBitmap;
delete iBitmapMask;
AknIconUtils::SetSize初始化给定尺寸的图标,参数aBitmap是CAknBitmap的示例,如AknIconUtils方式生成。如果不是CAknBitmap,这个方法无效。注意这里调用设置的是bitmap和mask(如果它存在的话),如果不调用SetSize方法,那么位图将无法被绘制到屏幕上。
尽管CreateIconL有重载方法只加载单个图片,但上述方法在加载和修改尺寸方面更有效率。
这篇关于在S60加载Bitmap和Mask的效率的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!