2026年8月31日月曜日

wioterminal by arduinoIDE2(jpeg,png-sprite)

 chap4_jpeg 以下のように変更(チャットくんにきいた)

#include <LGFX_AUTODETECT.hpp>
#include <SPI.h>
#include "Seeed_FS.h"
#include "SD/Seeed_SD.h"
#include <LovyanGFX.hpp>

static LGFX tft;

void setup()
{
tft.begin();

digitalWrite(LCD_BACKLIGHT, HIGH);

tft.setRotation(1);
tft.fillScreen(TFT_BLACK);
tft.setTextColor(TFT_RED);
tft.println("RAM ERROR");

// SDカード初期化
if (!SD.begin(SDCARD_SS_PIN, SDCARD_SPI))
{
tft.setTextColor(TFT_RED);
tft.setTextColor(TFT_RED);
tft.println("RAM ERROR");
tft.println("SD ERROR");
return;
}

tft.setTextColor(TFT_WHITE);
tft.println("SD OK");

// JPEGファイルを開く
File file = SD.open("/image.jpg");

if (!file)
{
tft.setTextColor(TFT_RED);
tft.println("image.jpg ERROR");
return;
}

// ファイルサイズ
size_t size = file.size();

tft.printf("JPEG size: %d\n", size);

// JPEGをRAMへ読み込む
uint8_t *buf = (uint8_t *)malloc(size);

if (buf == nullptr)
{
tft.setTextColor(TFT_RED);
tft.println("RAM ERROR");
file.close();
return;
}

file.read(buf, size);
file.close();

tft.println("JPEG loaded");

// JPEG表示
bool result = tft.drawJpg(
buf,
size,
0,
0
);

if (result)
{
tft.println("JPEG OK");
}
else
{
tft.setTextColor(TFT_RED);
tft.println("JPEG ERROR");
}

free(buf);
}

void loop()
{
}

0 件のコメント:

コメントを投稿