27 lines
1.3 KiB
Markdown
27 lines
1.3 KiB
Markdown
|
## 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](../../examples/Sprite/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.
|