(雑メモ) AtomS3+M5Unifiedで透過PNG画像表示&背景色変更
TODO: あとでちゃんと記事にする
AtomS3のLCDにM5Unifiedを使って画像表示するサンプルです。
水色の背景に透過のキャラクター画像を重ねて表示しています。
#include <Arduino.h>
#include <SPIFFS.h>
#include <M5Unified.h>
constexpr auto IMG_PATH = "/sd.png";
M5Canvas canvas(&M5.Display);
// 画像は6.54KB 128x128で軽量化済み
uint8_t gIMGBuf[8192];
/** 画像をSPIFFSから読み込む */
void readIMG() {
auto file = SPIFFS.open(IMG_PATH, "r");
file.read(gIMGBuf, 8192);
file.close();
}
/** M5のセットアップ */
void setupM5() {
SPIFFS.begin();
M5.begin();
readIMG();
M5.Display.setBrightness(128);
canvas.createSprite(128, 128);
// 水色で塗りつぶし
auto color = M5.Display.color565(126, 205, 246);
canvas.fillRect(0, 0, 128, 128, color);
// PNG画像を重ねて描画
canvas.drawPng(gIMGBuf, 8192);
canvas.pushSprite(0, 0);
}
/** セットアップ */
void setup() {
setupM5();
}
/** ループ */
void loop() {
}