首先就是颜色编码。在调用vspi发送颜色数组时,相关的十六进制对照表如下
调用以下函数即可实现颜色输出
vspi->transfer16(0x07e0);
#000000:黑色(RGB: 0, 0, 0)
#FFFFFF:白色(RGB: 255, 255, 255)
#FF0000:红色(RGB: 255, 0, 0)
#00FF00:绿色(RGB: 0, 255, 0)
#0000FF:蓝色(RGB: 0, 0, 255)
#FFFF00:黄色(RGB: 255, 255, 0)
#FF00FF:品红色(RGB: 255, 0, 255)
#00FFFF:青色(RGB: 0, 255, 255)
#808080:灰色(RGB: 128, 128, 128
而在esp32实现屏幕显示图片的过程中有两中方式去实现自己想要展示的图片
其中一种是打开图片路径对图片进行三色渲染,留取有颜色的部分
一种是以bmp图片转C语言十六进制数组格式的形式去处理图片
vspi->transferBytes(reinterpret_cast<const uint8_t *>(image_data), 80 * 160 * 2);
在esp32中调用相关的函数案例为以下两种
const unsigned char gImage_1[]={
// Your data here...
};
//...
void lcd_border_check() {
//...
uint32_t size = 16 * 1024;
// Use the 'gImage_1' array with the correct data type.
vspi->transferBytes(gImage_1, nullptr, size);
//...
}
一种以输出字符为格式(如上所示)一种是以实时处理为基准的函数(如下所示)
vspi->transferPixels(reinterpret_cast<const uint16_t *>(image_data), 80 * 160);