本文へスキップ

画像を C 配列に変換

ローカル画像を Adafruit GFX、SSD1306 または RGB565 の C 配列に変換。画素を確認してヘッダーファイルを保存できます。

PNG・JPEG・WebP:10 MB、1,600 万画素まで。画像はブラウザー内で処理します。

画素プレビュー

画像またはサンプルを読み込むと、出力する画素を確認できます。

黒い画素が 1 です。各行をバイト境界にそろえ、右端の余剰ビットは 0 にします。Adafruit GFX drawBitmap 用です。

C ヘッダー

使い方

  1. ローカルの PNG・JPEG・WebP 画像かサンプルを読み込みます。
  2. 出力サイズと配置方法を設定します。単色画像ではしきい値と反転を調整できます。
  3. ライブラリーに合ったデータ形式を選び、プレビューを確認してコードをコピーするか .h ファイルを保存します。

使用例

128 × 64 の単色画像は 1,024 バイト。
GFX:x=0 は行の先頭バイトのビット 7。
SSD1306:y=0 はページの先頭バイトのビット 0。
RGB565:赤 0xF800、緑 0x07E0、青 0x001F。

仕様と制限

処理はすべてローカルで行います。入力は 10 MB・1,600 万画素まで、出力の幅と高さは 1〜256 画素です。機器への接続や書き込みは行いません。

最初にデコードしたフレームを固定し、長辺を最大 256 画素に縮小します。透明部分は白と合成し、縦横比を維持する場合は白い余白を追加します。

単色ではしきい値より暗い画素が 1(黒表示)、しきい値と同じ明るさは 0 です。反転しても画像範囲外のパディングビットは 0 のままです。OLED では通常 1 の画素が点灯します。

GFX は各行をバイト単位に、SSD1306 は最後のページを 8 画素単位に埋めます。端数ページには対応ドライバーが必要です。RGB565 は 16 ビット値の配列で、転送バイト順は指定しません。

ヘッダーは static const 配列を使い、AVR では PROGMEM に配置します。GFX は対応形式を読み取れますが、AVR で生のページデータをコピーする場合はプログラムメモリー用の関数を使用してください。LVGL 記述子、パレット、アルファチャンネルは生成しません。

FAQ

画像はアップロードされますか?

いいえ。デコード、縮小、変換はブラウザー内で行います。

OLED の画像が乱れるのはなぜですか?

サイズとデータ配置を確認してください。GFX drawBitmap は横方向の MSB 先頭、SSD1306 バッファーは縦 8 画素ずつの LSB 先頭です。

RGB565 のエンディアンを選べますか?

出力は uint16_t の数値配列です。バイト順はコンパイラーとドライバーに委ね、バイト列は生成しません。

形式の参考資料

ツールページの更新日: