カラーコードについて

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_lefttop_centertop_right
middle_leftmiddle_centermiddle_right
bottom_leftbottom_centerbottom_right

*1. centercentre でも可

画像の基準点(datum)について

M5GFXの描画関数では、描画を開始する基準点を指定することが可能です。下記の9種類が利用可能です。

datum_t::top_leftdatum_t::top_centerdatum_t::top_right
datum_t::middle_leftdatum_t::middle_centerdatum_t::middle_right
datum_t::bottom_leftdatum_t::bottom_centerdatum_t::bottom_right

*1. centercentre でも可

フォント一覧

ラテンフォント

フォント名 備考
&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 -
On This Page