4.1 目标图像的编辑与处理
目标图像通常并不是BMP格式,原始尺寸跟液晶显示中所需的也相差很多。因此,在从图像文件中读取点阵前必须对目标图像进行适当的编辑与处理。其步骤如下:
(1)通过图像处理软件编辑或调整目标图像尺寸,使得图像跟液晶显示的尺寸要求一致。常用的有Photoshop、Capture Professional等软件。
(2)将图像转换为二色Windows格式的BMP文件。注意,如果是彩色图像,则在转换为黑白图像时需要调节黑白对比效果,以适合黑白显示。本步骤笔者使用的是Capture Professional3.0版本Operations菜单下的Convert to->Black and White,转换时会弹出消息框,调整其Threshold的值可以预览到其黑白对比效果。
(3)将图像上下翻转(以水平线为轴)。从上面的分析可知,BMP文件中图像象素的内容是由下而上、由左及右存储的。所以按照习惯的由上而下、由左及右的顺序往液晶的显示RAM写图像点阵,必须将上述处理后的图像进行翻转,并存储为最终的图像文件。本步骤用Photoshop和Capture Professional都比较方便。
4.2 BMP文件中读取点阵的程序设计
在完成对目标图像编辑与处理后,就可以从最终得到的黑白二色Windows BMP文件中读出图像点阵了。假设点阵值按照传统的X86汇编语言格式存放在名为fig n.inc的文件中。设计点阵读取程序框图如图2所示。
设图像水平方向及垂直方向尺寸(点阵数)分别为ohr__size、ver__size,则图2的框图中:
(1)所要扫描的总行数为ver__size。
(2)判断每行是否结束的方法为:当hor__size被8整除时,则每行应读取的字节数 Byte num=hor size/8;
否则
Byte num=取整(hor size/8)+1。
(3)一行扫描完后,确定下一行指针位置的方法为:如每行字节数能被4整除时,则指针加1即可,否则指针应加上
(4--取余(Byte__unm/4)+1)。
5 图像在液晶中的显示
5.1 静态图像显示
经过前面的处理,生成的点阵文件fig n.inc中点阵存放顺序跟我们习惯的方向已经一致。因此,只要在初始化液晶后,按顺序从点阵文件中读取点阵值,再写往液晶相应的显示区,就能完成整幅静态图像的显示。图3是以常见的用T6963C作控制器的液晶显示模块为例来说明图像显示的静态流程。
5.2 动画显示
众所周知,动画显示的基本原理是利用人眼的视觉残留,将一序列静止的画面按一定的时间间隔连续播放。可见,只要获得各静态子画面的点阵值,就可以实现在点阵式液晶中的动画显示。图4是实现一个包括N个子画面的动画显示流程。其中时间间隔T根据实际效果设置。
6 结束语
计算机存储图像除了BMP外,还有多种其它格式。本文之所以选择用BMP,是因为它是一种没有压缩的点阵型的图像文件格式,而且几乎所有的Windows应用软件都支持这种格式,从而处理起来特别方便。在网络资源日益丰富的今天,多数情况下设计者可不必自己绘制而直接利用各种现成的图像、图标、动画,然后对之加以处理。在笔者参与的电力系统新一代数字式保护研制中,上述方法的成功运用使产品在很短的开发周期内取得了非常理想的人机界面效果。