1. 程式人生 > 其它 >TFT_eSPI 預設顏色備查

TFT_eSPI 預設顏色備查

TFT_eSPI 中的預定義色彩

// Default color definitions
#define TFT_BLACK       0x0000      /*   0,   0,   0 */
#define TFT_NAVY        0x000F      /*   0,   0, 128 */
#define TFT_DARKGREEN   0x03E0      /*   0, 128,   0 */
#define TFT_DARKCYAN    0x03EF      /*   0, 128, 128 */
#define TFT_MAROON      0x7800      /* 128,   0,   0 */
#define TFT_PURPLE      0x780F      /* 128,   0, 128 */
#define TFT_OLIVE       0x7BE0      /* 128, 128,   0 */
#define TFT_LIGHTGREY   0xD69A      /* 211, 211, 211 */
#define TFT_DARKGREY    0x7BEF      /* 128, 128, 128 */
#define TFT_BLUE        0x001F      /*   0,   0, 255 */
#define TFT_GREEN       0x07E0      /*   0, 255,   0 */
#define TFT_CYAN        0x07FF      /*   0, 255, 255 */
#define TFT_RED         0xF800      /* 255,   0,   0 */
#define TFT_MAGENTA     0xF81F      /* 255,   0, 255 */
#define TFT_YELLOW      0xFFE0      /* 255, 255,   0 */
#define TFT_WHITE       0xFFFF      /* 255, 255, 255 */
#define TFT_ORANGE      0xFDA0      /* 255, 180,   0 */
#define TFT_GREENYELLOW 0xB7E0      /* 180, 255,   0 */
#define TFT_PINK        0xFE19      /* 255, 192, 203 */    
#define TFT_BROWN       0x9A60      /* 150,  75,   0 */
#define TFT_GOLD        0xFEA0      /* 255, 215,   0 */
#define TFT_SILVER      0xC618      /* 192, 192, 192 */
#define TFT_SKYBLUE     0x867D      /* 135, 206, 235 */
#define TFT_VIOLET      0x915C      /* 180,  46, 226 */

TFT_eSPI RGB565 色彩模式

例如 藍色 TFT_BLUE 對應色彩為四位16進位制數 0x001F

TFT_eSPI 庫使用 RGB565 色彩模式:其中 R 原色佔用 5 bitG 原色佔用 6 bit , B 原色佔用 5 bit,即每畫素點佔用 5 + 6 + 5 = 16 bit ,對應一個 四位16進位制數

正常 RGB888 色彩模式

正常 RGB 由 R、G、B 各 8 位,一共 24 位 3 位元組大小表示。

每位元組佔 8 bit,正好對應 0~255 的範圍。

RGB888 與 RGB565 的轉化

轉換函式 color565() 定義如下:

uint16_t color565(uint8_t red, uint8_t green, uint8_t blue);

使用示例:

uint16_t red =    tft.color565(255, 0, 0);
uint16_t green =  tft.color565(0, 255, 0);
uint16_t blue =   tft.color565(0, 0, 255);
uint16_t yellow = tft.color565(255, 255, 0);

其中(255,0,0)為正常 RGB 數值,tft 為物件名