TFT_eSPI/Tools/bmp2array4bit
Bodmer 7fc8b99b64 Add new background fill approach to smooth fonts
A new background rendering approach is used for smooth fonts which almost eliminates flicker. tft.print... can now be used with a background rendered for smooth fonts. Font_Demo_1/2/3... examples have been updated.
A new "docs" folder has been created and files moved there. The Tools folder now only contains support tools.

#1757 fixed by using Arduino calls.

A new USER_SETUP_ID parameter can be added to setup files and checked via a new verifySetupID(id); function.

Version raised to v2.4.50
2022-04-18 19:15:40 +01:00
..
README.md Add new background fill approach to smooth fonts 2022-04-18 19:15:40 +01:00
bmp2array4bit.py Add new background fill approach to smooth fonts 2022-04-18 19:15:40 +01:00
star.bmp Add new background fill approach to smooth fonts 2022-04-18 19:15:40 +01:00

README.md

bmp2array4bit

bmp2array4bit.py reads a bmp file, and creates C (or C++) code that contains two arrays for adding images to four-bit sprites. See Sprite_image_4bit for an example.

It is loosely based on Spark Fun's bmp2array script, https://github.com/sparkfun/BMPtoArray/blob/master/bmp2array.py. The bmp file format is documented in https://en.wikipedia.org/wiki/BMP_file_format.

You'll need python 3.6 (the original uses Python 2.7)

usage: python bmp2array4bit.py [-v] star.bmp [-o myfile.c]

Create the bmp file in Gimp (www.gimp.org) from any image as follows:

  • Remove the alpha channel (if it has one) Layer -> Transparency -> Remove Alpha Channel
  • Set the mode to indexed. Image -> Mode -> Indexed...
  • Select Generate optimum palette with 16 colors (max)
  • Export the file with a .bmp extension. Do NOT select options:
    • Run-Length Encoded
    • Compatibility Options: "Do not write color space information"
    • There are no Advanced Options available with these settings

(There are other tools that will produce bmp files, and these should work provided you don't use run-length encoding or other advanced features).

The first array produced is the palette for the image. The second is the image itself.