关于mbm文件的生成,转换

一.什么是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

  •       target-file是生成的MBM文件的文件名
  •       targetpath 是可选项。如果未指定,MBM文件将生成在该应用程序的目录
  •       header 也是可选项。如果指定该关键字,将在 epoc32/include 目录下生成一个.mbg的头文件。生成的.mbg头文件中包含每一个位图的枚举值,在资源文件中需要此文件中生成的枚举值
  •       sourcepath 指定原始Windows BMP文件的位置。
  •       source 该语句后的所有BMP文件必须是同样的色深。如果需要在一个单独的MBM文件中包含不同色深的BMP文件,必须指定多个 source

      例如:

      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之间有空格。

你可能感兴趣的:(关于mbm文件的生成,转换)