显示屏 — 颜色
M5GFX 源码:
lgfx/v1/LGFXBase.hpp
返回: 显示屏概览
预定义颜色常量、颜色转换函数以及当前绘图颜色。
预定义颜色
通过 <M5GFX.h> 提供的全局常量:
TFT_BLACK TFT_NAVY TFT_DARKGREEN TFT_DARKCYAN
TFT_MAROON TFT_PURPLE TFT_OLIVE TFT_LIGHTGREY
TFT_DARKGREY TFT_BLUE TFT_GREEN TFT_CYAN
TFT_RED TFT_MAGENTA TFT_YELLOW TFT_WHITE
TFT_ORANGE TFT_GREENYELLOW TFT_PINK TFT_BROWN
TFT_GOLD TFT_SILVER TFT_SKYBLUE TFT_VIOLET
简写: BLACK, WHITE, RED, GREEN, BLUE, YELLOW, CYAN, MAGENTA。
M5Cardputer.Display.fillScreen(TFT_BLACK);
M5Cardputer.Display.fillRect(10, 10, 50, 50, TFT_RED);
M5Cardputer.Display.drawString("OK", 10, 70);
color565()
将 8 位 RGB 分量转换为 16 位压缩颜色(RGB565 格式)。
| 参数 | 类型 | 范围 | 说明 |
|---|---|---|---|
r |
uint8_t |
0–255 | 红色分量 |
g |
uint8_t |
0–255 | 绿色分量 |
b |
uint8_t |
0–255 | 蓝色分量 |
| 返回值 | 说明 |
|---|---|
uint16_t |
16 位 5-6-5 压缩格式 |
uint16_t orange = M5Cardputer.Display.color565(255, 165, 0);
M5Cardputer.Display.fillScreen(orange);
color888()
将 8 位 RGB 转换为 32 位压缩颜色(RGB888 格式)。
| 参数 | 类型 | 范围 | 说明 |
|---|---|---|---|
r |
uint8_t |
0–255 | 红 |
g |
uint8_t |
0–255 | 绿 |
b |
uint8_t |
0–255 | 蓝 |
| 返回值 | 说明 |
|---|---|
uint32_t |
32 位 8-8-8 格式 |
setColor() — RGB 分量
通过 RGB 分量设置当前绘图颜色。后续所有绘图操作均使用此颜色。
| 参数 | 类型 | 范围 | 说明 |
|---|---|---|---|
r |
uint8_t |
0–255 | 红 |
g |
uint8_t |
0–255 | 绿 |
b |
uint8_t |
0–255 | 蓝 |
setColor() — 压缩值
通过压缩颜色值设置当前绘图颜色。
| 参数 | 类型 | 说明 |
|---|---|---|
color |
uint16_t |
16 位压缩颜色 (RGB565) |
M5Cardputer.Display.setColor(TFT_CYAN);
M5Cardputer.Display.drawCircle(160, 120, 50);
// 自定义压缩颜色
M5Cardputer.Display.setColor(M5Cardputer.Display.color565(200, 100, 50));
setBaseColor()
设置 fillScreen() 无参调用或 clear() 使用的背景色。
getRawColor()
返回当前绘图颜色的原始格式。
getColorDepth()
返回当前色深(每像素位数)。M5Cardputer 通常为 16。