参考:https://bbs.csdn.net/topics/330068659
但是,像Image2Lcd这样的转换程序。它是各种位图相互转换,或是取c数组的,分析了一下它从24位转到16位或是从16位转到24位,就几乎看不出来。
这应该不是简单的截去低几位得来的吧。
Image2Lcd软件介绍: https://blog.csdn.net/super828/article/details/72815729
很多资料是看到的,大家可以参考下
Image2Lcd 是一款工具软件,它能使你把各种来源的图片转换成特定的数据格式以用来匹配单片机系统所需要的显示数据格式。Image2Lcd支持的输入图像格式包括: BMP, WBMP, JPG, GIF, WMF, EMF, ICO, 等等。Image2Lcd的输出数据类型包括定制的二进制类型、c语言数组类型和标准的BMP格式、WBMP格式。Image2Lcd能可视调节输入图象的数据扫描方式、灰度(颜色数)、图像数据排列方式、亮度、对比度、等等。对于包含了图像头数据保存的图像数据文件,Image2Lcd能重新打开作为输入图像。
image2lcd最新中文版下载:http://www.cr173.com/soft/43222.html
image2lcd使用总结
开始学STM32显示图片,刚接触image2lcd,不会用,搞了几天,终于弄明白了
image2lcd图片头文件信息:
图片头数据的第2~5个字节表示宽和高,假设图片数组BMP_BUF[],高位在前时
bmp_withd=(BMP_BUF[2]<<8)|BMP_BUF[3]
bmp_lenth=(BMP_BUF[4]<<8)|BMP_BUF[5]
第一个字节是扫描方式,低四位为0水平扫描,为1垂直扫描
第二字节输出灰度0x04--16灰 0x18--24真彩色,0x10--16真彩色 0x20--32真彩色
实验数据:
1.输出灰度24位真彩色 输入180*240BMP图片 输出180*240 限制320*240 C语言数组 水平扫描 RGB565
180*240 没有勾选 高位在前,自右至左扫描,自底至顶扫描
180*240 高位在前
180*240 高位在前,自右至左扫描
180*240 高位在前,自右至左扫描,自底至顶扫描
扫描方式 180 240
2.1.输出灰度24位真彩色 输入图片320*226BMP图片 输出320*226 C语言数组 水平扫描 RGB565 限制320*240
320*226 没有勾选 高位在前,自右至左扫描,自底至顶扫描
320*226 高位在前
320*226 高位在前,自右至左扫描
320*226 高位在前,自右至左扫描,自底至顶扫描
扫描方式 320 226
2.2. 输出灰度24位真彩色 输入图片320*226BMP图片 输出320*226 C语言数组 垂直扫描 RGB565 限制320*240
320*226
320*226
320*226
320*226
2.3. 输出灰度24位真彩色 输入图片320*226BMP图片 输出320*226 C语言数组 水平扫描 RGB565 限制240*320
320*226 没有勾选 高位在前,自右至左扫描,自底至顶扫描
320*226 高位在前
320*226 高位在前,自右至左扫描
320*226 高位在前,自右至左扫描,自底至顶扫描
2.4. 输出灰度16灰 输入图片320*226BMP图片 输出320*226 C语言数组 水平扫描 RGB565 限制240*320
320*226
320*226
3.输入JPG 480*340 输出24位真彩色,240*170 限制240*320 RGB565 水平扫描
240*170 没有勾选 高位在前,自右至左扫描,自底至顶扫描
240*170 高位在前
240*170 高位在前,自右至左扫描
240*170 高位在前,自右至左扫描,自底至顶扫描