一.什么是MBM?
MBM格式文件是Symbian OS的位图文件格式,这是一种多位图文件。由于一个MBM文件可能包含多个位图,所以bmconv还产生一个位图头文件MBG,这个头文件提供了一个访问位图的ID。当从MBM文件加载一张位图的时候,应该包括相应的头文件,同时应当使用恰当的标识符作为加载位图的方法的参数。
二.创建.mbm文件
MBM代表Multi-BitMaps,一个MBM文件可以包含多个具有不同色深和分辨率的BMP文件。MBM文件可以在编译过程中自动创建,也可以使用bmconv工具手动创建。下面将分别介绍这两种方法。
1.编译过程中创建
需要在程序的MMP文件中添加以下内容:
start bitmap target-file
[targetpath target-path ]
[header ]
[sourcepath source-path ]
source color-depth source-bitmap-list
end
例如:
start bitmap sprites.mbm
header
sourcepath ../bitmaps
source c12 ship.bmp bullet.bmp alien.bmp
end
2.使用bmconv工具创建
输入如下命令:
bmconv sprites.mbm /c12ship.bmp /c12bullet.bmp /c12alien.bmp
在bmconv命令后使用/u选项,可以从MBM文件中提取BMP文件,得到的BMP文件色深都是24。也可以使用在命令后指定/v选项来显示MBM文件的内容。
三.使用BMCONV工具加工自己的MBM 和MBG文件
如果你想更换自己应用程序的图标,但是又不想调用系统已经生成好多那些图片,怎么办?就要用到BMCONV工具了。这个工具是专门用于.BMP文件和MBM,MBG 文件之间的转换的。我们在更改我们的图标的时候,MBM和MBG文件是必不可少的。而且也必须用到MBG文件里生成的相关枚举值,虽然你或许能够猜出来该枚举值是多少,但是MBG文件还是必须的。
BMCONV应该位于.../Epoc32/tools 目录下面。不过在哪个盘下面进行转换操作好像并没有什么限制(我没有遇到过)。下面就讲一下如何进行BMP文件和MBM,MBG文件之间的相互转换。
BMP->MBM,MBG
例如已经有了名为 my.bmp, 要生成对应的mbg和mbm文件,文件名分别为每my.mbg, my.mbm 输入命令为:bmconv /hmy.mbg my.mbm /c12my.bmp
注意:
1.第一个MBG文件和/h 之间没有空格,后面的都有一个空格。/c12和图片文件名中间没有空格。图片文件名前面加上/c12,就是把图片压成12色的。BMP图片存的时候一定要是8位的,因为别的转换不了。
2. 一般在转换的时候都需要一个遮掩图片,就是像mymask.bmp。在转换的时候加my.bmp 后面就行了。如下:
bmconv /hmy.mbg my.mbm /c12my.bmp /c12mymask.bmp
MBM,MBG-> BMP
其实是一个逆过程,可以由相应的MBM,MBG文件还原BMP文件。
bmconv /u my.mbm my.bmp mymask.bmp
注意:/u 和后面的my.mbm之间有空格。