microSD カードのビットマップ・ファイルのビュアー.画像の最大値 縦:272ピクセル,横:480ピクセル. Bitmap file viewer for microSD card. Maximum size Vertical: 272 pixels, Horizontal: 480.

Dependencies:   SDFileSystem_Warning_Fixed F746_GUI

Committer:
MikamiUitOpen
Date:
Tue Oct 23 11:51:47 2018 +0000
Revision:
1:bb146d5fe9aa
Parent:
ReadAndDisplay.hpp@0:f62ffd3644bf
2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:f62ffd3644bf 1 //-----------------------------------------------------------
MikamiUitOpen 0:f62ffd3644bf 2 // microSD のビットマップファイルを読み込み表示するグローバル関数
MikamiUitOpen 0:f62ffd3644bf 3 // 縦方向に分割して読み込みと描画を行う
MikamiUitOpen 0:f62ffd3644bf 4 // F746_GUI は Rev.32 を使うこと
MikamiUitOpen 0:f62ffd3644bf 5 //
MikamiUitOpen 0:f62ffd3644bf 6 // 2018/10/21, Copyright (c) 2018 MIKAMI, Naoki
MikamiUitOpen 0:f62ffd3644bf 7 //-----------------------------------------------------------
MikamiUitOpen 0:f62ffd3644bf 8
MikamiUitOpen 0:f62ffd3644bf 9 #include "BitmapReader.hpp"
MikamiUitOpen 0:f62ffd3644bf 10
MikamiUitOpen 0:f62ffd3644bf 11 using namespace Mikami;
MikamiUitOpen 0:f62ffd3644bf 12
MikamiUitOpen 0:f62ffd3644bf 13 void ReadAndDraw(const string fileName, SD_BitmapReader &sdReader,
MikamiUitOpen 0:f62ffd3644bf 14 uint8_t bmp[], uint32_t headerSize, int div)
MikamiUitOpen 0:f62ffd3644bf 15 {
MikamiUitOpen 0:f62ffd3644bf 16 sdReader.Open(fileName); // ファイルのオープン
MikamiUitOpen 0:f62ffd3644bf 17 sdReader.ReadFile(bmp, headerSize); // ヘッダの読み込み
MikamiUitOpen 0:f62ffd3644bf 18
MikamiUitOpen 0:f62ffd3644bf 19 uint32_t height = sdReader.GetHeight(bmp); // 画像の高さ,単位:ピクセル
MikamiUitOpen 0:f62ffd3644bf 20 uint32_t h0 = height/div; // 分割した画像の高さ,単位:ピクセル
MikamiUitOpen 0:f62ffd3644bf 21 sdReader.SetHeight(bmp, h0); // 画像の高さ設定,単位:ピクセル
MikamiUitOpen 0:f62ffd3644bf 22
MikamiUitOpen 0:f62ffd3644bf 23 uint8_t *ptr = (uint8_t *)(bmp+headerSize); // 画像データのポインタ
MikamiUitOpen 0:f62ffd3644bf 24 uint32_t size = sdReader.GetSize(bmp)/div; // 一度で読込む画像データのサイズ計算,単位:バイト
MikamiUitOpen 0:f62ffd3644bf 25
MikamiUitOpen 0:f62ffd3644bf 26 // 縦方向に分割して読み込みと描画を行う
MikamiUitOpen 0:f62ffd3644bf 27 for (int n=0; n<div; n++)
MikamiUitOpen 0:f62ffd3644bf 28 {
MikamiUitOpen 0:f62ffd3644bf 29 sdReader.ReadFile(ptr, size); // 画像データの読み込み
MikamiUitOpen 0:f62ffd3644bf 30 GuiBase::GetLcd().DrawBitmap(0, (div-1-n)*h0, bmp);
MikamiUitOpen 0:f62ffd3644bf 31 }
MikamiUitOpen 0:f62ffd3644bf 32
MikamiUitOpen 0:f62ffd3644bf 33 sdReader.Close(); // ファイルのクローズ
MikamiUitOpen 0:f62ffd3644bf 34 }