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.

Here is a download link for the .msi: DisplayModule's Image Converter (.msi file zip DisplayModule's Image converter 1.0, smaller download size)

 

 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.

Source file:

Have to be a 24-bit bitmap with row order bottom-top. This is by far the most common format.

Destination file:

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.

Program options:

  • 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)