A new version with a lot of improvements and new features is ready. This program doesn’t use any external libraries, just pure jdk.
- Added a simple build-in palette generator to produce a better base palette for HAM8 conversion.
- Added a new 256-color mode, which converts the image to a normal indexed 256-color mode.
- Floyd–Steinberg dithering can be used with the 256-color mode.
- Added an option to load a 256-color palette from a file in the JASC pal format (256 colours are used in 256-color mode, HAM8 uses only the first 64 colours). This option enables the user to load an optimized 64-color palette to greatly improve the quality of the HAM8 conversion. External programs (like IrfanView) have much better colour reduction algorithms than the build-in one. If you want a high-quality HAM8, you can reduce the number of colours of your image to 64 in IrfanView using the new high-quality option, export the resulting 64-color palette to a file and load to it my program.
- Improved the user interface.
- Fixed some bugs.
There are some sample palettes included: Amstrad CPC, Apple II, Atari 2600, Atari 8-bit, Commodore 16/Plus4, Commodore 64, Commodore 64 DTV, Commodore VIC20, CGA, Grayscale (4-bit), NES, RGB222 (EGA), RGB332 (MSX2), SAM Coupé, ZX Spectrum.
These palettes when used in 256-color mode with enabled dithering could be used to approximate the graphic capabilities of these old computers (with the exception of the colour restrictions often present in their screen modes).
I’ve posted a few test pictures below (dithering was enabled in 256-color mode).