m5stackで組込み!!

Arduinoによるm5stack開発のいろいろと...

ビットマップ画像の表示

ビットマップ画像の表示をしてみましょう。
 

ビットマップ画像とは

圧縮処理がされていない画像です。そのため、JPEGPNGにくらべてサイズは大きいです。
BMP画像を表示する関数がこちらです。
引数にx、y座標、高さ、幅、データを指定します。

  M5.Lcd.drawBitmap(0, 0, 320, 240, (uint16_t *)image_data_m5_logo_BMP);

サンプルコード

#include <M5Stack.h>
 
extern const unsigned char image_data_m5_logo_BMP[];
 
void setup() {
  M5.begin();
}
 
 
void loop(){
  if(M5.BtnA.wasPressed()) {
    M5.Lcd.drawJpgFile(SD,"/img/m5_logo.jpg");
  }
  if(M5.BtnC.wasPressed()) {
    M5.Lcd.drawBitmap(0, 0, 320, 240, (uint16_t *)image_data_m5_logo_BMP);
  }
  M5.update();

  delay(1);
}

JPEGBMPの比較

f:id:yamanonono:20200105214943j:plain
JPEG画像

f:id:yamanonono:20200105215117j:plain
BMP画像

JPEGのほうが綺麗です。
ただ、JPEGはSDファイルから読み込んでいるので、BMPより表示に時間が掛かります。
画質と表示の速さどちらを取るか悩みますね。。。