WioTerminal에서 ROM 데이터의 Jpeg 표시

어떤 내용입니까?



WioTerminal의 LCD(320x240)에 화상을 표시하려고 했을 경우에, SD카드로부터 파일을 읽어 표시하는 샘플은 다수 발견됩니다만, WioTerminal은 윤택한 FlashROM를 가지고 있으므로, Const로 프로그램중에 가지고 있어도 좋다고 생각했기 때문에 만들었습니다. 이 경우 C 언어의 const로 이미지의 ROM 데이터를 만드는 것이 번거롭기 때문에 Jpeg 파일에서 ROM의 Const 데이터를 생성하는 웹 사이트도 만들었습니다. 프로그램은 아무런 일이 없기 때문에, 이 변환 사이트 만든 것이 메인일지도 모르겠네요.


프로그램 정보



설명할 만큼은 아니지만 주요 부분을 간단히 설명합니다. ★ 부분

WioMemoryJpeg.ino
// ★Jpegの表示には、@lovyan03さんの高速描画ライブラリを利用しました。
// https://platformio.org/lib/show/7359/LovyanGFX
#include <LGFX_TFT_eSPI.hpp>

static TFT_eSPI tft;               // TFT_eSPIがLGFXの別名として定義されます。

// ★画像のサイズを定義します。
#define IMG_WIDTH  (320)
#define IMG_HEIGHT (240)

extern const uint8_t img[15687];

void setup()
{
  tft.init();
  tft.setRotation(1);

  // ★ここでJpegを描画します。ROMテーブルの先頭アドレスと画像のサイズを与えるだけです。
  tft.drawJpg(img, sizeof(img), 0, 0, IMG_WIDTH, IMG_HEIGHT);
}

void loop() {
  // put your main code here, to run repeatedly:

}

// ★Jpegのデータを作成するのが、手作業やバイナリエディタで作成するのが手間でしたので
//   Javascriptでデータを作成できるサイトを作りました。
// https://wioterminal.s3-ap-northeast-1.amazonaws.com/index.html
const uint8_t img[15687] = {
0xFF,0xD8,0xFF,0xE0,0x00,0x10,0x4A,0x46,0x49,0x46, 省略・・・・};

모든 프로그램은 Github 에서 다운로드할 수 있습니다.

웹사이트 정보



여기 에서 사용할 수 있습니다.
사용법에 대해서는 설명 불필요하다고 생각합니다. 파일을 지정하면 오른쪽 하단에 const 정의 코드가 출력되므로 복사하여 Arduino IDE에서 사용할 수 있습니다. 특히 화상 사이즈 제한은 실시하고 있지 않습니다.


이상입니다.

좋은 웹페이지 즐겨찾기