New in this version: improved bayer and checks dithering, expanded command line mode.
Download:
Main mirror (all stable and testing versions)
External mirror
Changelog:
- Dynamic Hires: recommended dithering propagation factor is now available as 0%.
- Dynamic Hires: improved the following dithering modes – checks, bayer 2×2, bayer 4×4, bayer 8×8.
- Amiga indexed modes: improved the following dithering modes – checks, bayer 2×2.
- Fakemode: added 1×3 triple height, 3×1 normal and 3×1 triple width variants. 1×3 triple height variant after converting to 256-color AGA they can be used on Amiga.
- Command line batch mode: txt file with a list of input files is now also accepted. Just replace full_image_path with bath_file_path. File extension must be txt.
- Command line: new optional parameters: quant_wu option enables Wu’s color quantizer (usually faster than NeuQuant and often produces better results, enabled by default in non-ham modes), divesity_X (X values listed below), propagation_X (X values listed below).
- Command line: added ham6_slowest (slowest conversion, best quality), ham6_fastest, ham6_ludicrous, ham8_fastest modes.
- Updated command line mode info:
java -Xmx4g -Xms1g -jar ham_convert.jar file_path mode optional_parameters (example: java -jar ham_convert.jar C:\img\test.png ham6 norle).
If you start the program without “java -jar” it will be launched in the background.
Ham6 and ham8 modes support multiple conversion profiles – normal which offers good best compromise between speed and quality, fast – faster but still producing decent picture quality, fastest – lower quality than and faster than fast, slow – best quality when speed is not important.- Parameter 1 – source file path (mandatory): jpg/png/gif image or txt file with one image path per line for bath conversion (unicode console required for diacritic characters).
- Parameter 2 – mode (mandatory): ham6, ham6_slow, ham6_slowest, ham6_fast, ham6_fastest, ham6_ludicrous, ham8, ham8_fast, ham8_fastest, ham8_slow, ocs4, ocs8, ocs16, ocs32, ehb, aga64, aga128, aga256, dhires (dynamic hires 16-color per line).
Program will be terminated if mode parameter is missing/incorrect or any of the other parameters is incorrect. - Parameter 3+ – optional settings:
- dither (enable Bayer dithering for most modes, Checks for DynamicHires, Checks lines-mixed for ham6),
- dither_fs (enable Floyd-Steinberg dithering for most modes, Constrained Sierra Lite for DynamicHires, adds additional noise to ham6 that can increase the number of artefacts),
- norle (disable lossless iff rle compression),
- normalize (stretch contrast – normalize range to 0-255),
- black_bkd (force black background color – always set palette color 0 to black),
- fixed_pal (use fixed palette: 16-level grayscale on ocs, rgb453level+6level grayscale on aga),
- quant_wu (use Wu’s color quantizer instead of NeuQuant),
- diversity_X (similar color removal strength, X=0-6 for ehb, X=0-9 for other modes, not supported in ham8 and dhires),
- propagation_X (error propagation factor, requires dither_fs, X=0-100).
- Command line ham6 conversion profiles (from highest to lowest quality):
- ham6_slowest (ham6 with slower palette optimizer),
- ham6_slow (ham6 with normal palette optimizer),
- ham6 (same as default gui settings, optimal speed/quality),
- ham6_fast (decent quality),
- ham6_fastest,
- ham6_ludicrous.
- Command line ham8 conversion profiles (from highest to lowest quality):
- ham8_slow,
- ham8 (same as default gui settings, optimal speed/quality),
- ham8_fast (decent quality),
- ham8_fastest,
Hi Sebastian
It’s so cool that you’re still working on this! The last time I checked in, your version was 0.4 😀
Just today we are having a challenge day at our company which I organized. It’s about HAM but all coded in Rust: https://github.com/renuo/hamster
All the best
Josua
Thank you.