首页 > 学习收获 > 嵌入式相关 > M30固件 菜单条透明原理、实现及转换工具
2008
04-13

M30固件 菜单条透明原理、实现及转换工具

本文是群内兄弟7号兄研究出来的结果,本人只是总结了一下。呵呵。向7号同学致敬!

M30固件里面,菜单条的一个大黑边实在是很郁闷。但是实际上,可以通过美化固件,将菜单条的形状任意改变。

首先说一下原理。其实很简单的道理:M30固件里面,菜单条的形状是一个完整的矩形。但是显示出来的是圆角矩形。也就是说,有一部分图片并没有显出来。通过查看可以发现,没有显示出来的部分,颜色均为#FF00FF。那么就是说,只要是颜色为#FF00FF的像素点,固件在显示的时候,都将其做透明化处理。根据这个原理,就可以很轻松的实现任意修改固件内菜单的显示形状。

但是具体实现时有一点小困难。就是在M30固件内,其图片格式是32bit的BMP,也就是一个像素点是4BYTE数据。但是一般电脑内的图片,均为24bit的BMP,其一个像素点仅为3BYTE数据。每一个像素点缺少了8bit。而且,使用的工具Image Search Editor(以下简称ISE),其对图片的导入导出也是按照24bit来进行的。所以,可能会出现外面制作好的图片,导入其中却不能使用的问题。原因就是这个样子。

不过,ISE内还提供了另一种方法,就是将BMP文件导出为BIN,也可以将BIN文件导入覆盖BMP。这样就能完整的保存数据。其所使用的BIN文件,其实就是去除了文件头尾的BMP文件。所以,只要有制作好的32bit的BMP,简单的处理就可以将其转换为可用的BIN。

那么在具体实现时,可以如下操作:首先在PS里面,新建一个293*60的图片,格式设为8bitRGB。新建完成后,先在右下角 通道 一栏中新建一个Alpha通道。完成后,就不用管了。正常的制作处理图片即可。将需要透明的点变为#FF00FF就可以。保存的时候,选BMP,并勾选 Alpha通道 选项。出来的文件应该就是一个32bit的BMP了。文件大小应该是70376字节。

随后,用UE之类的工具打开该文件,将文件的前54字节和最后2字节去除。文件大小变为70320字节。另存为BIN。就是一个可以使用的BIN文件了。

为方便使用,7号兄使用Delphi写了一个专用工具,可以实现BIN和BMP的互转,那么就不用那么麻烦的自己去用UE修改。使用该工具,就可以将文件方便的转换为需要的格式。等下7号兄就可以将该工具上传了。呵呵。

这样。M30内菜单的可定制性大大加强。相信大家也能做出更为个性又绚烂多彩的固件吧~^_^

转换工具已经上传。内附使用说明,如有不明可以留言,我尽量答复。呵呵

转换工具下载

最后编辑:
作者:龙天
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。