
MCUレンダーは、MCUSのC言語グラフィックライブラリであり、モノクロとカラーLCDディスプレイの両方で低リソースの使用を伴う非フリッカリング、アンチアライアのテキストのレンダリングに焦点を当てています。
MCUレンダーの使用を開始するには、適切なヘッダーファイルを含めます。
ライブラリを初期化するには、対応するmr_xxx_init()関数を呼び出します。ディスプレイは最初にオフになっているため、最初の画面の更新前に描画できます。ディスプレイをオンにするには、 mr_xxx_set_display()に電話してください。 LCD画面の色では、 mr_xxx_set_sleep()でスリープモードを無効にする必要があります。
次に、フォントをセットアップします。準備フォントセクションが説明するように、Fontsフォルダーで使用可能なフォントを使用するか、独自のフォントを準備することができます。
その後、重複しない長方形で構成される画面レイアウトを設定します。これにより、画面を更新するときにちらつきが避けられます。
塗りつぶされた長方形を描画するには、 mr_set_fill_color()を呼び出して、実際の図面に塗りつぶしの色とmr_draw_rectangle()を設定します。 mr_get_colorマクロで、Webカラー(#FF2020)をMCUレンダーカラーに変換できます。
ユーザーが提供するuint8_t FrameBufferでビットマップを描画するには、 mr_set_stroke_color()を呼び出して前景の色、 mr_set_fill_color()を設定して、背景色とmr_draw_bitmap()を設定してビットマップを描画します。
ユーザーが提供するRGB565 FrameBufferで画像を描画するには、 mr_draw_image()に電話してください。
テキスト長方形を描画するには、 mr_set_font()を呼び出してフォント、 mr_set_fill_color()を設定して背景色、 mr_set_stroke_color()を設定してテキスト色を設定し、 mr_draw_text_utf8() mr_draw_text() 、mr_draw_text_utf8 mr_draw_text_utf16()それぞれ弦。 offsetパラメーターは、図面長方形内のテキストの左上隅を指定します。テキストを水平に中心に、 mr_get_text_width() 、 mr_get_text_utf8_width() 、 mr_get_text_utf16_width()関数を使用します。テキストを垂直に中央に配置するには、 mr_get_cap_height() (大文字Aの高さ)、 mr_get_ascent() (ベースラインの上部)、MR_GET_DESCENT mr_get_descent() )(ベースラインから下へのベースライン)、 mr_get_line_height() (Line of Lineの高さ)を使用して、現在のフォントのメトリックを取得します。メトリックを取得する前に、必ずフォントを設定してください。
長方形の境界は、ディスプレイサイズを超えない場合があります。テキスト描画関数のoffsetパラメーターは制限されていません。
モノクロディスプレイとSDLには、画面更新が必要です。画面を更新するには、描画が終了したらmr_xxx_refresh_screen()に電話してください。
例フォルダーを参照してください。
(ASCII文字0x20-0x7E)
(バイトのサイズ)
| フォント | Roboto 12 px | Roboto 24 px | Roboto 48 px | Roboto 72 px |
|---|---|---|---|---|
| adafruit_gfx/tft_espi(1 bpp) | 3832 | 14589 | 56677 | 129389 |
| U8G2(1 BPP) | 1508 | 3039 | 6632 | n/a |
| MCUレンダラー1 BPP | 1473 | 2891 | 5902 | 9511 |
| MCUレンダラー2 BPP | 2052 | 4162 | 8743 | 13969 |
| MCUレンダラー3 BPP | 2695 | 5677 | 12128 | 18701 |
| MCUレンダラー4 BPP | 3328 | 7329 | 15533 | 23676 |
| マクフォント(4 BPP) | 3125 | 6296 | 12969 | 20045 |
| tft_espi(vlw) | 7642 | 19387 | 65833 | 143333 |
フォントをMCUレンダラー形式に変換するために、 fontconvツール(リリースの下でバイナリ形式で使用可能)を使用して、 .bdf 、 .pcf 、 .ttc 、 .otf 、.woffbectorフォントだけでなく、 .ttf 、.ttf、.otf、 .otc 、 .woffベクターフォントを変換できます。
デジタルタイポグラフィでは、72ポイントが通常96ピクセルとして定義されます。ベクトルフォントを特定のピクセルサイズにラスター化するには、係数4/3を掛けて、ピクセルサイズをポイントサイズに変換します。すべてのフォントがこのルールに従うわけではないため、この要素を調整する必要がある場合があります。
fontconv 、上昇の高さ(ラインの上部からベースラインまで)と降下の高さ(ベースラインから下へのベースラインまで)の違いとして、キャップの高さ(大文字aの高さ)を計算します。一部のフォントでは、この計算は不正確であるため、キャップの高さをオーバーライドして正しい結果を達成できます。上昇の高さと降下の高さをオーバーライドすることもできます。