microSD カードのビットマップ・ファイルのビュアー.画像の最大値 縦:272ピクセル,横:480ピクセル. Bitmap file viewer for microSD card. Maximum size Vertical: 272 pixels, Horizontal: 480.
Dependencies: SDFileSystem_Warning_Fixed F746_GUI
Diff: ReadAndDisplay.hpp
- Revision:
- 1:bb146d5fe9aa
- Parent:
- 0:f62ffd3644bf
--- a/ReadAndDisplay.hpp Sun Oct 21 11:29:47 2018 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ -//----------------------------------------------------------- -// microSD のビットマップファイルを読み込み表示するグローバル関数 -// 縦方向に分割して読み込みと描画を行う -// F746_GUI は Rev.32 を使うこと -// -// 2018/10/21, Copyright (c) 2018 MIKAMI, Naoki -//----------------------------------------------------------- - -#include "BitmapReader.hpp" - -using namespace Mikami; - -void ReadAndDraw(const string fileName, SD_BitmapReader &sdReader, - uint8_t bmp[], uint32_t headerSize, int div) -{ - sdReader.Open(fileName); // ファイルのオープン - sdReader.ReadFile(bmp, headerSize); // ヘッダの読み込み - - uint32_t height = sdReader.GetHeight(bmp); // 画像の高さ,単位:ピクセル - uint32_t h0 = height/div; // 分割した画像の高さ,単位:ピクセル - sdReader.SetHeight(bmp, h0); // 画像の高さ設定,単位:ピクセル - - uint8_t *ptr = (uint8_t *)(bmp+headerSize); // 画像データのポインタ - uint32_t size = sdReader.GetSize(bmp)/div; // 一度で読込む画像データのサイズ計算,単位:バイト - - // 縦方向に分割して読み込みと描画を行う - for (int n=0; n<div; n++) - { - sdReader.ReadFile(ptr, size); // 画像データの読み込み - GuiBase::GetLcd().DrawBitmap(0, (div-1-n)*h0, bmp); - } - - sdReader.Close(); // ファイルのクローズ -}