github bluescan/tacentview v1.0.34
Like the Peanut Butter

latest releases: v1.0.46, v1.0.45, v1.0.44...
21 months ago

This release allows high-quality GIFs to be created. GIF support before this did not do a good job of creating colour palettes and did not support saving transparency. In this version 3 high-quality colour quantizers have been added, transparency is supported, and palette-size (BPP) can be set anywhere between 1-bit (2 colour) to 8-bit (256 colour). Dithering is also supported for the spatial quantizer.

The available quantizers are:

  • NeuQuant. This is probably the most well-known high-quality quantizer. It uses a neural net to learn and reduce errors in colour differences. Works well for bigger palette sizes like 128 or 256 colours.
  • Wu Bipartition. With my simple test-case this performed really well at a range of bit-depths and was reasonably fast. it is the default quantizer in Tacent View.
  • Scolorq/Spatial. This is the only method to directly support dithering. It is quite slow but gives superior results for low bit-depths. Try using it for 5-bit (32-colour) or lower.
  • Fixed. A fixed palette. Does not inspect the image pixel colours but is useful for 1-bit palettes as it guarantees both black and white are included. It also highlights how much better the other methods are ;)

Some tests of the quantizers can be found in the Tacent Wiki Quantization Page

The new interface to save a GIF:

GifSave_2022_12_29

Most of the work for this release took place in the base Tacent library. This included the use of gifenc to do the encoding. Here is the related Tacent release.

Additional Improvements and Changes:

  • File dialog now pre-populates the base filename when selecting save-as.
  • Gif palette bit-depth displayed correctly in details panel. From 1 bit to 8 bit.
  • Simplified image loading and saving code to take advantage of the new tImage constructors.
  • No longer using hardcoded extensions for save-as and save-as-multiframe. Now uses the FileTypes object. Config file saves file-type name instead of arbitrary int.

Full Changelog: v1.0.33...v1.0.34

Don't miss a new tacentview release

NewReleases is sending notifications on new releases.