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文件 |