A.创建mbg文件(以video.bmp图片为例,工程文件名为Multi)
1 在group同级文件夹下创建gfx文件夹,该文件夹用于保存bmp文件,现在要将video.bmp文件复制到gfx文件夹下
2 打开Multi.mmp文件,添加如下
START BITMAP Multi.mbm
TARGETPATH /system/apps/Multi
HEADER
SOURCEPATH ../gfx
SOURCE c12 video.bmp
END
添加的位置是
SYSTEMINCLUDE /epoc32/include
与
LIBRARY
之间,应该对位置是没有要求的.
添加这些以后重新生成工程就可以在group文件夹下看到Multi.mbg文件了,打开该文件可以看到
enum TMbmMulti
{
EMbmMultiVideo
};
其中EMbmMultiVideo就是video.bmp的ID了
B.编程加载图片和画图
1.类中的声明;
private: //data
CFbsBitmap* iBitMap;
public :
void LoadBitmap();
2.实现:
void LoadBitmap()
{
iBitMap=new (ELeave)CFbsBitmap();
_LIT(KMBMFILE,"//system//apps//Multi//Multi.mbm");
TFileName file(KMBMFILE);
// TFilename fname = _L("Multi.mbm");
User::LeaveIfError(CompleteWithAppPath(file));
User::LeaveIfError(iBitMap->Load(file,EMbmMultiVideo));
}
在ConstructL()中
CreateWindowL();
后添加
LoadBitmap();
到这里,就已经加载图片了
在Draw中添加
TPoint topLeft(20,20);
gc.BitBlt(topLeft,iBitMap);
图片就显示出来了
C 打包
打包的时候要注意将mbm文件加到包里面
"C:/Symbian/8.0a/S60_2nd_FP2_SC/epoc32/data/Z/system/APPS/MULTI/Multi.mbm" -"!:/system/apps/MULTI/Multi.mbm"
注意:
修改图片后要删除原有rsg文件