Skip to content

Commit

Permalink
docs(readme): rearrange and edit opening; add alts
Browse files Browse the repository at this point in the history
  • Loading branch information
dbohdan committed Oct 6, 2023
1 parent ec7c185 commit 98684cd
Showing 1 changed file with 24 additions and 4 deletions.
28 changes: 24 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,26 @@ A jet airplane is taking off in the sky.](bordeaux-15bit.png)

*(The image above has 15-bit color.)*

HiColor is a program for converting images to 15- and 16-bit RGB color, the color depth of old display modes known as [“high color”](https://en.wikipedia.org/wiki/High_color).
HiColor is a program for converting images to 15- and 16-bit RGB color,
the color depth of old display modes known as [“high color”](https://en.wikipedia.org/wiki/High_color).
I wrote because I wanted to create images with the characteristic high-color look.

## Description

HiColor reduces image to 15- or 16-bit color.
In 15-bit mode images have 5 bits for each of red, green, and blue, and the last bit is reserved.
In 16-bit mode green, the color the human eye is generally most sensitive to, gets 6 bits.

I wrote this program because I wanted to create images with the characteristic high-color look, and nothing seemed to support high color.
It implements its own simple [file format](format.md) and converts between this format and PNG.
It can also convert normal PNG to normal 32-bit PNG with only high-color color values.
HiColor implements its own simple [file format](format.md) and converts between this format and PNG.
It can also convert PNG to normal 32-bit PNG with only high-color color values.
(This simulates a roundtrip through HiColor without creating a temporary file.)

To reduce the quantization error (the difference between the original and the high-color pixel),
HiColor defaults to the [Bayer ordered dithering](https://bisqwit.iki.fi/story/howto/dither/jy/#StandardOrderedDitheringAlgorithm) algorithm,
which historical software and hardware used for dithering in high-color mode.
It can use [“a dither”](https://pippin.gimp.org/a_dither/) instead.
Dithering can be selected or disabled with command-line flags.

HiColor files have either the extension `.hic` or `.hi5` for 15-bit and `.hi6` for 16-bit respectively.

Quantized images compress better when their originals, so HiColor may serve as a less-lossy alternative to the 256-color [pngquant](https://pngquant.org/).
Expand Down Expand Up @@ -100,6 +107,19 @@ sudo apt install -y graphicsmagick tclsh wine
gmake test-wine
```

## Alternatives

I wrote HiColor because nothing seemed to support high color.
I was wrong about that.
Actually,
[FFmpeg](https://www.madox.net/blog/2011/06/06/converting-tofrom-rgb565-in-ubuntu-using-ffmpeg/),
[GIMP](https://docs.gimp.org/2.10/en/gimp-filter-dither.html),
and
[ImageMagick](https://www.imagemagick.org/Usage/quantize/#16bit_colormap)
can convert images to 15- and 16-bit color.
Search for "RGB555" and "RGB565" to find such conversions.
The thing that differentiates HiColor is being a small dedicated tool and an embeddable library.

## License

MIT.
Expand Down

0 comments on commit 98684cd

Please sign in to comment.