Alin Jerpelea 54f47f3168 tools: update licenses to Apache | 3 年之前 | |
---|---|---|
.. | ||
README.md | 4 年之前 | |
bitmap_converter.py | 3 年之前 | |
check-hash.sh | 3 年之前 | |
mkimport.sh | 3 年之前 | |
mkkconfig.bat | 3 年之前 | |
mkkconfig.sh | 3 年之前 | |
mkromfsimg.sh | 3 年之前 | |
mksymtab.sh | 3 年之前 |
bitmap_converter.py
This script converts from any image type supported by Python imaging library to the RLE-encoded format used by NxWidgets.
RLE (Run Length Length) is a very simply encoding that compress quite well with certain kinds of images: Images that that have many pixels of the same color adjacent on a row (like simple graphics). It does not work well with photographic images.
But even simple graphics may not encode compactly if, for example, they have been resized. Resizing an image can create hundreds of unique colors that may differ by only a bit or two in the RGB representation. This color smear is the result of pixel interpolation (and might be eliminated if your graphics software supports resizing via pixel replication instead of interpolation).
When a simple graphics image does not encode well, the symptom is that the resulting RLE data structures are quite large. The palette structure, in particular, may have hundreds of colors in it. There is a way to fix the graphic image in this case. Here is what I do (in fact, I do this on all images prior to conversion just to be certain):