カラーコードについて
M5GFXは、RGB888(24bit), RGB565(16bit), RGB332(8bit)のカラーコードの判断を変数の型で自動的に判断します。そのため、他のコードを移植する際に予期せぬ動きをする場合があるので注意してください。
例えばuint32_tで16bitのカラーコードを指定してあり、色が24bitの色に変わってしまうということがあります。
変数の型 |
対応するコード形式 |
uint8_t |
RGB332形式 |
uint16_t |
RGB565形式 |
uint32_t |
RGB888形式 |
定義済みの色
Color |
Hex |
R |
G |
B |
TFT_BLACK |
0x0000 |
0 |
0 |
0 |
TFT_NAVY |
0x000F |
0 |
0 |
128 |
TFT_DARKGREEN |
0x03E0 |
0 |
128 |
0 |
TFT_DARKCYAN |
0x03EF |
0 |
128 |
128 |
TFT_MAROON |
0x7800 |
128 |
0 |
0 |
TFT_PURPLE |
0x780F |
128 |
0 |
128 |
TFT_OLIVE |
0x7BE0 |
128 |
128 |
0 |
TFT_LIGHTGREY |
0xD69A |
211 |
211 |
211 |
TFT_LIGHTGRAY |
0xD69A |
211 |
211 |
211 |
TFT_DARKGREY |
0x7BEF |
128 |
128 |
128 |
TFT_DARKGRAY |
0x7BEF |
128 |
128 |
128 |
TFT_BLUE |
0x001F |
0 |
0 |
255 |
TFT_GREEN |
0x07E0 |
0 |
255 |
0 |
TFT_CYAN |
0x07FF |
0 |
255 |
255 |
TFT_RED |
0xF800 |
255 |
0 |
0 |
TFT_MAGENTA |
0xF81F |
255 |
0 |
255 |
TFT_YELLOW |
0xFFE0 |
255 |
255 |
0 |
TFT_WHITE |
0xFFFF |
255 |
255 |
255 |
TFT_ORANGE |
0xFDA0 |
255 |
180 |
0 |
TFT_GREENYELLOW |
0xB7E0 |
180 |
255 |
0 |
TFT_PINK |
0xFE19 |
255 |
192 |
203 |
TFT_BROWN |
0x9A60 |
150 |
75 |
0 |
TFT_GOLD |
0xFEA0 |
255 |
215 |
0 |
TFT_SILVER |
0xC618 |
192 |
192 |
192 |
TFT_SKYBLUE |
0x867D |
135 |
206 |
235 |
TFT_VIOLET |
0x915C |
180 |
46 |
226 |
TFT_TRANSPARENT |
0x0120 |
|
|
|
テキストの基準点(datum)について
M5GFXのいくつかのテキスト描画関数では描画を開始する基準点を指定することが可能です。下記の9種類が利用可能です。
top_left | top_center | top_right |
middle_left | middle_center | middle_right |
bottom_left | bottom_center | bottom_right |
*1. center
は centre
でも可
画像の基準点(datum)について
M5GFXの描画関数では、描画を開始する基準点を指定することが可能です。下記の9種類が利用可能です。
datum_t::top_left | datum_t::top_center | datum_t::top_right |
datum_t::middle_left | datum_t::middle_center | datum_t::middle_right |
datum_t::bottom_left | datum_t::bottom_center | datum_t::bottom_right |
*1. center
は centre
でも可
フォント一覧
ラテンフォント
フォント名 |
備考 |
&fonts::Font0 |
|
&fonts::Font2 |
|
&fonts::Font4 |
|
&fonts::Font6 |
|
&fonts::Font7 |
|
&fonts::Font8 |
|
&fonts::Font8x8C64 |
|
&fonts::AsciiFont8x16 |
|
&fonts::AsciiFont24x48 |
|
&fonts::TomThumb |
|
&fonts::FreeMono9pt7b |
|
&fonts::FreeMono12pt7b |
|
&fonts::FreeMono18pt7b |
|
&fonts::FreeMono24pt7b |
|
&fonts::FreeMonoBold9pt7b |
|
&fonts::FreeMonoBold12pt7b |
|
&fonts::FreeMonoBold18pt7b |
|
&fonts::FreeMonoBold24pt7b |
|
&fonts::FreeMonoOblique9pt7b |
|
&fonts::FreeMonoOblique12pt7b |
|
&fonts::FreeMonoOblique18pt7b |
|
&fonts::FreeMonoOblique24pt7b |
|
&fonts::FreeMonoBoldOblique9pt7b |
|
&fonts::FreeMonoBoldOblique12pt7b |
|
&fonts::FreeMonoBoldOblique18pt7b |
|
&fonts::FreeMonoBoldOblique24pt7b |
|
&fonts::FreeSans9pt7b |
|
&fonts::FreeSans12pt7b |
|
&fonts::FreeSans18pt7b |
|
&fonts::FreeSans24pt7b |
|
&fonts::FreeSansBold9pt7b |
|
&fonts::FreeSansBold12pt7b |
|
&fonts::FreeSansBold18pt7b |
|
&fonts::FreeSansBold24pt7b |
|
&fonts::FreeSansOblique9pt7b |
|
&fonts::FreeSansOblique12pt7b |
|
&fonts::FreeSansOblique18pt7b |
|
&fonts::FreeSansOblique24pt7b |
|
&fonts::FreeSansBoldOblique9pt7b |
|
&fonts::FreeSansBoldOblique12pt7b |
|
&fonts::FreeSansBoldOblique18pt7b |
|
&fonts::FreeSansBoldOblique24pt7b |
|
&fonts::FreeSerif9pt7b |
|
&fonts::FreeSerif12pt7b |
|
&fonts::FreeSerif18pt7b |
|
&fonts::FreeSerif24pt7b |
|
&fonts::FreeSerifItalic9pt7b |
|
&fonts::FreeSerifItalic12pt7b |
|
&fonts::FreeSerifItalic18pt7b |
|
&fonts::FreeSerifItalic24pt7b |
|
&fonts::FreeSerifBold9pt7b |
|
&fonts::FreeSerifBold12pt7b |
|
&fonts::FreeSerifBold18pt7b |
|
&fonts::FreeSerifBold24pt7b |
|
&fonts::FreeSerifBoldItalic9pt7b |
|
&fonts::FreeSerifBoldItalic12pt7b |
|
&fonts::FreeSerifBoldItalic18pt7b |
|
&fonts::FreeSerifBoldItalic24pt7b |
|
&fonts::Orbitron_Light_24 |
|
&fonts::Orbitron_Light_32 |
|
&fonts::Roboto_Thin_24 |
|
&fonts::Satisfy_24 |
|
&fonts::Yellowtail_32 |
|
&fonts::DejaVu12 |
|
&fonts::DejaVu18 |
|
&fonts::DejaVu24 |
|
&fonts::DejaVu40 |
|
&fonts::DejaVu56 |
|
&fonts::DejaVu72 |
|
&fonts::DejaVu9 |
|
ユニコードフォント
フォント名 |
言語コード |
&fonts::lgfxJapanMincho_8 |
JA |
&fonts::lgfxJapanMincho_12 |
JA |
&fonts::lgfxJapanMincho_16 |
JA |
&fonts::lgfxJapanMincho_20 |
JA |
&fonts::lgfxJapanMincho_24 |
JA |
&fonts::lgfxJapanMincho_28 |
JA |
&fonts::lgfxJapanMincho_32 |
JA |
&fonts::lgfxJapanMincho_36 |
JA |
&fonts::lgfxJapanMincho_40 |
JA |
&fonts::lgfxJapanMinchoP_8 |
JA |
&fonts::lgfxJapanMinchoP_12 |
JA |
&fonts::lgfxJapanMinchoP_16 |
JA |
&fonts::lgfxJapanMinchoP_20 |
JA |
&fonts::lgfxJapanMinchoP_24 |
JA |
&fonts::lgfxJapanMinchoP_28 |
JA |
&fonts::lgfxJapanMinchoP_32 |
JA |
&fonts::lgfxJapanMinchoP_36 |
JA |
&fonts::lgfxJapanMinchoP_40 |
JA |
&fonts::lgfxJapanGothic_8 |
JA |
&fonts::lgfxJapanGothic_12 |
JA |
&fonts::lgfxJapanGothic_16 |
JA |
&fonts::lgfxJapanGothic_20 |
JA |
&fonts::lgfxJapanGothic_24 |
JA |
&fonts::lgfxJapanGothic_28 |
JA |
&fonts::lgfxJapanGothic_32 |
JA |
&fonts::lgfxJapanGothic_36 |
JA |
&fonts::lgfxJapanGothic_40 |
JA |
&fonts::lgfxJapanGothicP_8 |
JA |
&fonts::lgfxJapanGothicP_12 |
JA |
&fonts::lgfxJapanGothicP_16 |
JA |
&fonts::lgfxJapanGothicP_20 |
JA |
&fonts::lgfxJapanGothicP_24 |
JA |
&fonts::lgfxJapanGothicP_28 |
JA |
&fonts::lgfxJapanGothicP_32 |
JA |
&fonts::lgfxJapanGothicP_36 |
JA |
&fonts::lgfxJapanGothicP_40 |
JA |
&fonts::efontCN_10 |
zh-CN |
&fonts::efontCN_10_b |
zh-CN |
&fonts::efontCN_10_bi |
zh-CN |
&fonts::efontCN_10_i |
zh-CN |
&fonts::efontCN_12 |
zh-CN |
&fonts::efontCN_12_b |
zh-CN |
&fonts::efontCN_12_bi |
zh-CN |
&fonts::efontCN_12_i |
zh-CN |
&fonts::efontCN_14 |
zh-CN |
&fonts::efontCN_14_b |
zh-CN |
&fonts::efontCN_14_bi |
zh-CN |
&fonts::efontCN_14_i |
zh-CN |
&fonts::efontCN_16 |
zh-CN |
&fonts::efontCN_16_b |
zh-CN |
&fonts::efontCN_16_bi |
zh-CN |
&fonts::efontCN_16_i |
zh-CN |
&fonts::efontCN_24 |
zh-CN |
&fonts::efontCN_24_b |
zh-CN |
&fonts::efontCN_24_bi |
zh-CN |
&fonts::efontCN_24_i |
zh-CN |
&fonts::efontJA_10 |
JA |
&fonts::efontJA_10_b |
JA |
&fonts::efontJA_10_bi |
JA |
&fonts::efontJA_10_i |
JA |
&fonts::efontJA_12 |
JA |
&fonts::efontJA_12_b |
JA |
&fonts::efontJA_12_bi |
JA |
&fonts::efontJA_12_i |
JA |
&fonts::efontJA_14 |
JA |
&fonts::efontJA_14_b |
JA |
&fonts::efontJA_14_bi |
JA |
&fonts::efontJA_14_i |
JA |
&fonts::efontJA_16 |
JA |
&fonts::efontJA_16_b |
JA |
&fonts::efontJA_16_bi |
JA |
&fonts::efontJA_16_i |
JA |
&fonts::efontJA_24 |
JA |
&fonts::efontJA_24_b |
JA |
&fonts::efontJA_24_bi |
JA |
&fonts::efontJA_24_i |
JA |
&fonts::efontKR_10 |
KO |
&fonts::efontKR_10_b |
KO |
&fonts::efontKR_10_bi |
KO |
&fonts::efontKR_10_i |
KO |
&fonts::efontKR_12 |
KO |
&fonts::efontKR_12_b |
KO |
&fonts::efontKR_12_bi |
KO |
&fonts::efontKR_12_i |
KO |
&fonts::efontKR_14 |
KO |
&fonts::efontKR_14_b |
KO |
&fonts::efontKR_14_bi |
KO |
&fonts::efontKR_14_i |
KO |
&fonts::efontKR_16 |
KO |
&fonts::efontKR_16_b |
KO |
&fonts::efontKR_16_bi |
KO |
&fonts::efontKR_16_i |
KO |
&fonts::efontKR_24 |
KO |
&fonts::efontKR_24_b |
KO |
&fonts::efontKR_24_bi |
KO |
&fonts::efontKR_24_i |
KO |
&fonts::efontTW_10 |
zh-TW |
&fonts::efontTW_10_b |
zh-TW |
&fonts::efontTW_10_bi |
zh-TW |
&fonts::efontTW_10_i |
zh-TW |
&fonts::efontTW_12 |
zh-TW |
&fonts::efontTW_12_b |
zh-TW |
&fonts::efontTW_12_bi |
zh-TW |
&fonts::efontTW_12_i |
zh-TW |
&fonts::efontTW_14 |
zh-TW |
&fonts::efontTW_14_b |
zh-TW |
&fonts::efontTW_14_bi |
zh-TW |
&fonts::efontTW_14_i |
zh-TW |
&fonts::efontTW_16 |
zh-TW |
&fonts::efontTW_16_b |
zh-TW |
&fonts::efontTW_16_bi |
zh-TW |
&fonts::efontTW_16_i |
zh-TW |
&fonts::efontTW_24 |
zh-TW |
&fonts::efontTW_24_b |
zh-TW |
&fonts::efontTW_24_bi |
zh-TW |
&fonts::efontTW_24_i |
zh-TW |
ColorDepthについて
色の深度については下記の値を指定可能です。
Value |
bit |
Number of Color |
1 |
1 bit |
2 |
2 |
2 bit |
4 |
4 |
4 bit |
16 |
8 |
8 bit |
256 |
16 |
16 bit |
65,536 |
24 |
24 bit |
16,777,216 |
|
|
|
enum epd_mode_t
M5Paperのe-inkディスプレイは下記の4種類のモード指定が可能です。
種類 |
説明 |
epd_quality |
高品質の描画が可能ですが、スピードが遅い |
epd_text |
↑ |
epd_fast |
↓ |
epd_fastest |
描画スピードは速いが、低品質 |
struct TextStyle
Parameter |
Type |
Description |
fore_rgb888 |
uint32_t |
Text Color |
back_rgb888 |
uint32_t |
Background Color |
size_x |
float |
Text Size X |
size_y |
float |
Text Size Y |
datum |
textdatum_t (*1) |
Text Datum |
padding_x |
int32_t |
Padding X |
utf8 |
bool |
UTF8 encode |
cp437 |
bool |
cp437 encode |
*1.
テキストの基準点(datum)について
struct FontMetrics
Parameter |
Type |
Description |
width |
int16_t |
Font width |
x_advance |
int16_t |
X advance |
x_offset |
int16_t |
X offset |
height |
int16_t |
Font height |
y_advance |
int16_t |
Y advance |
y_offset |
int16_t |
Y offset |
startWrite()とendWrite()
draw/push系とwrite系の関数の違いについて
write系の関数は、draw/push系の関数と異なり
startWrite()
、
endWrite()
の間に記述して使用します。
draw/push系の関数はstartWrite(),endWrite()を内部で自動実行しており、複数の描画を連続で行う場合処理が若干重くなります。その場合はdraw/push系の関数もまとめてstartWriteとendWriteの間に記述すると速度が上がります。
対応表
write |
draw or push |
writePixel |
drawPixel |
writePixels |
pushPixels |
writePixelsDMA |
pushPixelsDMA |
writeFastHLine |
drawFastHLine |
writeFastVLine |
drawFastVLine |
writeFillRect |
fillRect |
writeColor |
pushBlock |
writeCommand |
- |
writeCommand16 |
- |
writeData |
- |
writeData16 |
- |
writeData32 |
- |
readData8 |
- |
readData16 |
- |
readData32 |
- |