Demonstration of the Bitmap rendering - reads BMP and JPG files in many format variants and renders to the screen.

Dependencies:   FlashFileSystem mbed RA8875

Bitmap and JPEG Demo

This demo publishes each graphic file from a list of files to the display. The graphic files can be BMP, JPG, or ICO. On the terminal it displays the filename and the return-code (in case of an error). This demo works as intended on the 480x272 display in either 8 or 16 bit per pixel mode and it should work on larger displays.

Items of interest to change and rebuild/test:

// Not all systems have the LocalFileSystem. Plug in the library and driver for yours.
LocalFileSystem local("local");             // Image source

TestImage_T TestImage[] = {
    { 0, 0, "/local/01601602.bmp"},
    { 0, 0, "/local/48027202.bmp"},
    { 0, 0, "/local/48027204.bmp"},
    { 0, 0, "/local/48027208.bmp"},
    { 0, 0, "/local/48027224.bmp"},
    { 0, 0, "/local/p480272.jpg"},
    { 0, 0, "/local/p480272.bmp"}
};

// deefine your screen size and color depth. 
#define SCREEN_W 480
#define SCREEN_H 272
#define SCREEN_BPP 16

LocalFileSystem may need to be altered to SDFileSystem (for example) and the corresponding paths in the TestImage array.

Also, the Screen size and bit per pixel color depth.

Images

The following image files are saved in different resolution and color depth. The first, and smallest, was simply for developing the monochrome support. Others are 4-bit color, 8-bit color, 24-bit color, and a mislabeled 1-bit color (shown as 02).

/media/uploads/WiredHome/testimages.zip

Committer:
WiredHome
Date:
Tue May 17 10:45:59 2016 +0000
Revision:
11:0c2ff405c1c1
Parent:
1:84fb3e9adaaf
working - adding instrumentation

Who changed what in which revision?

UserRevisionLine numberNew contents of line
WiredHome 1:84fb3e9adaaf 1 /*-------------------------------------------*/
WiredHome 1:84fb3e9adaaf 2 /* Integer type definitions for FatFs module */
WiredHome 1:84fb3e9adaaf 3 /*-------------------------------------------*/
WiredHome 1:84fb3e9adaaf 4
WiredHome 1:84fb3e9adaaf 5 #ifndef _INTEGER
WiredHome 1:84fb3e9adaaf 6 #define _INTEGER
WiredHome 1:84fb3e9adaaf 7
WiredHome 1:84fb3e9adaaf 8 #if 0
WiredHome 1:84fb3e9adaaf 9
WiredHome 1:84fb3e9adaaf 10 #ifdef _WIN32 /* FatFs development platform */
WiredHome 1:84fb3e9adaaf 11
WiredHome 1:84fb3e9adaaf 12 #include <windows.h>
WiredHome 1:84fb3e9adaaf 13 #include <tchar.h>
WiredHome 1:84fb3e9adaaf 14
WiredHome 1:84fb3e9adaaf 15 #else /* Embedded platform */
WiredHome 1:84fb3e9adaaf 16
WiredHome 1:84fb3e9adaaf 17 /* These types must be 16-bit, 32-bit or larger integer */
WiredHome 1:84fb3e9adaaf 18 typedef int INT;
WiredHome 1:84fb3e9adaaf 19 typedef unsigned int UINT;
WiredHome 1:84fb3e9adaaf 20
WiredHome 1:84fb3e9adaaf 21 /* These types must be 8-bit integer */
WiredHome 1:84fb3e9adaaf 22 typedef char CHAR;
WiredHome 1:84fb3e9adaaf 23 typedef unsigned char UCHAR;
WiredHome 1:84fb3e9adaaf 24 typedef unsigned char BYTE;
WiredHome 1:84fb3e9adaaf 25
WiredHome 1:84fb3e9adaaf 26 /* These types must be 16-bit integer */
WiredHome 1:84fb3e9adaaf 27 typedef short SHORT;
WiredHome 1:84fb3e9adaaf 28 typedef unsigned short USHORT;
WiredHome 1:84fb3e9adaaf 29 typedef unsigned short WORD;
WiredHome 1:84fb3e9adaaf 30 typedef unsigned short WCHAR;
WiredHome 1:84fb3e9adaaf 31
WiredHome 1:84fb3e9adaaf 32 /* These types must be 32-bit integer */
WiredHome 1:84fb3e9adaaf 33 typedef long LONG;
WiredHome 1:84fb3e9adaaf 34 typedef unsigned long ULONG;
WiredHome 1:84fb3e9adaaf 35 typedef unsigned long DWORD;
WiredHome 1:84fb3e9adaaf 36
WiredHome 1:84fb3e9adaaf 37 #endif
WiredHome 1:84fb3e9adaaf 38
WiredHome 1:84fb3e9adaaf 39 #endif
WiredHome 1:84fb3e9adaaf 40
WiredHome 1:84fb3e9adaaf 41 #endif