BMP格式图像文件详析( 二 )


四、图像数据阵列
17)17-...:每两个字节表示一个像素 。阵列中的第一个字节表示位图左下角的象素,而最后一个字节表示位图右上角的象素 。
按照前述r5g6b5彩色板规范,我们对图像最左下角手机上图像的的像素在24位模式中的rgb值进行推算(由于垂直翻转,这个像素在手机上看来实际上在左上角):
02F1 为 F102h
r=(F102 AND FB00)/ 800 × 8 h= F0h=240
g=(F102 AND 07E0)/ 20 × 4 h=20h=32
b=(F102 AND 001F)× 8 h= 10h=16
rgb=F02010h,放在存储器中为1020F0h 。
在Photoshop中设一下颜色,rgb取240、32、16可以看到是近红色 。
将手机中图像数据复制出来,加上前图中的文件头数据,只需要把6)、7)项位图宽、高设好就可以用ACDSEE进行查看了 。但是如果要用其他的程序进行处理,其他项目一般也需要正确设置 。
按照这样的原则,可以写一个简单的程序把一幅24位BMP图像转换为手机支持的16位r5g6b5图像,然后写进AXF,刷机后就可以在手机上看到自己做的6万色真彩图了 。
目前52和兰色可能都在开发这样的程序,有兴趣的朋友不妨先自己动手做几张图片 。

推荐阅读