DGUS II的GUI都是通过BMP图片上放置控件来完成的。全屏的背景图片都是24bit色的BMP图片。但是图片下载到屏幕中后,会经过处理转换为16bit色,因此通过串口传输文件时也需要注意这个问题。详细步骤如下:
1. BMP图片转换后,只需要下发位图数据。(不要位图头文件,位图信息数据和调色板的数据)
2. BMP图片正常解码的第1个点是左下角,然后往右边,再倒数第2行的左下角往右边。(左到右,下到上) DGUS II屏幕要的数据是从左上角,往右边,逐行往下。(左到右,上到下) 因此,需要将所有解码后的位图数据,重新编排顺序。
3. 24位色图片的位图数据是8R8G8B,需要转为 5R6G5B,把第1字节的高5位,第2字节的高6位,第3字节的高5位,拿出来,然后第1的5位+第2的高3位 凑成1个字节,余下的3位+第3的高5位凑成第2字节。
①先把图片数据发送到变量地址,例如2000h起始地址 例如发6个红色的点。
5A A5 0F 82 2000 F800 F800 F800 F800 F800 F800
②将数据存到图片保存缓冲区地址000000
5A A5 0B 82 00A2 5A 2000 0006 000000
③图片显示发送5A A5 07 82 00845A02 0000
|