This program will convert a 24-bit bmp (the most common variant) and convert it to a 16-bit bitmap.
How to use this program.
1. Choose the 24-bit bmp you wish to convert
2. Choose the destination directory and convert.
3. Put the bmp on an SD-card and use DmTftLibrary to display the images on your display.
Detailed information:There are 2 reasons for converting your images to 16-bit bmp with flipped row order:
- 1. Size.
The image is only 2/3 of the original size and because most embedded displays/drivers uses 16-bit color, the picture quality will be the same.
- 2. Speed.
Most embedded TFT uses the 16-bit 565 format and support the top-bottom write order.
a, The MCU does not need to convert the 24-bit to 16-bit 565, this is already done.
b, If the source format is already in correct order, a faster algorithm for reading the data can be used.
c, There is less data to read (because the image is only 2/3 of an original size)
Compared to raw picture data there are several advantages:
a, It has meta data about the format, size, how it is stored etc. With raw data, the program must already know this.
b, It is a standard so it can be viewed directly in most viewer (although not all viewer )
c, Can create and edit the images in advanced photo editing programs like photoshop.
More about the program.
Have to be a 24-bit bitmap with row order bottom-top. This is by far the most common format.
A file with the same image information will be created:
- It will use bitmap HEADERINFOV 3
- It will be 16-bit 565 format
- It will have reversed row order (top-bottom)
This file can be read by many programs, but not many programs can create this file. Photoshop is one of the programs which can create it.
- Convert to C-source code, will take the 24-bit bitmap and create an array C-source file. No modifications will be done
- Convert to C-source code (16-bit 565 top-bottom bitmap), will convert the image to 16-bit and then store it as a C-source file.
- Arduino C-source hack, will replace some 0xFF with 0xFE so that the C-source can be downloaded to the Arduino Flash. Otherwise this might get a download error (because the AVRDude settings Arduino is using)