代码使用说明
RGB888转RGB565,以液晶屏格式为例:
dst[j+1] = src[i+2] &0xf8; //提取5bit的蓝色数据
dst[j+1] |= ((src[i+1]>>5) & 0x07); //提取3bit的绿色高位数据
dst[j] = ((src[i+1]<<3) & 0xe0); //提取3bit的绿色低位数据
dst[j] |= ((src[i]>>3) &0x1f); //提取5bit的红色数据
在代码中,做了一个宏开关,当打开这个开关,转换后的数据格式为液晶屏RGB565的格式,当关闭开关,转换的数据可以直接通过Image View工具查看。
//#define LCD_FORMAT 1
代码中定义了两个Buffer,in_buffer中存放了RGB888格式的数据,通过”#include”指令将”.dat”文件倒入内存。
转换后输出的RGB565格式的数据存放在out_buffer中。
unsigned char in_buffer[391680]=
{
#include"RGB888_480_272.dat"
};
unsigned char out_buffer[261120];