0 Preface/Foreword
嵌入式开发中,想要在LCD屏幕中显示任意照片,该如何操作?
- 根据LCD的大小确定把照片进行缩放;比如LCD的规格为:360 RGB* 360, 原始照片的大小为:1000RGB*1000,那么就需要先将照片缩小为在360RGB * 360之内。
- 将照片转换成16进制数组形式,并放在头文件中;
1 转换方法
1.1 Linux下的命令方式
1.1.1 使用命令ffmpeg 和 xxd进行转化
ffmpeg -i Frank_160_160.png -f rawvideo -pix_fmt rgb565 Frank_160_160.raw
1.1.2 随后将Frank_160_160.raw文件转换成Frank_160_160.h
xxd -i Frank_160_160.raw Frank_160_160.h
1.1.3 查看头文件内容
数组长度:160 * 160 * 2 = 51200
一个pixel(像素)需要一组RGB表示,示例中采用的是RGB565的格式,需要2Bytes。
1.1.4 RGB数据对齐方式
Little Endian(小端)方式,低字节在低地址,高字节在高地址。
0x00000000 ->0x00000001表示一个pixel数据,也是第一个pixel。
NOTE:地址0x00000000是假定的数组起始地址,具体地址以系统分配为准。