Skip to main content

ColorQuant is a .Net color quantizer based on Xiaolin Wu's Color Quantizer. For a given 32-bit RGB or ARGB image, it will produce a 8-bit palletized image.

Total Downloads
82.3K
82,328
Published
Jun 30, 2026
3mo ago

Get Started

dotnet add package JeremyAnsel.ColorQuant --version 3.0.75
ProductVersions
.NET
net6.0net8.0net9.0
.NET Standard
netstandard2.0
Other
.NETFramework4.8

README

JeremyAnsel.ColorQuant

Build status Code coverage NuGet Version License

JeremyAnsel.ColorQuant is a C# implementation of the Xiaolin Wu's Color Quantizer (v. 2). For a given 32-bit RGB or ARGB image, it will produce a 8-bit palletized image.

Description Value
License The MIT License (MIT)
Documentation http://jeremyansel.github.io/JeremyAnsel.ColorQuant
Code coverage https://jeremyansel.github.io/JeremyAnsel.ColorQuant/coverage/
Source code https://github.com/JeremyAnsel/JeremyAnsel.ColorQuant
Nuget https://www.nuget.org/packages/JeremyAnsel.ColorQuant
Build https://ci.appveyor.com/project/JeremyAnsel/jeremyansel-colorquant/branch/master

C Implementation of Xiaolin Wu's Color Quantizer (v. 2) (see Graphics Gems volume II, pages 126-133) : http://www.ece.mcmaster.ca/~xwu/cq.c.

Algorithm: Greedy orthogonal bipartition of RGB space for variance minimization aided by inclusion-exclusion tricks. For speed no nearest neighbor search is done. Slightly better performance can be expected by more sophisticated but more expensive versions.

Usage

For image with RGB data:

var quantizer = new WuColorQuantizer();
ColorQuantizerResult result = quantizer.Quantize(image, colorCount);

For image with ARGB data:

var quantizer = new WuAlphaColorQuantizer();
ColorQuantizerResult result = quantizer.Quantize(image, colorCount);

ColorQuantizerResult contains a palette and the result bytes.

Downloads by Version

Similar & Alternative Packages

Hand-picked matching NuGet libraries based on tags & ecosystem

Depended On By

Find packages that declare this package as a dependency. NuGet does not provide a reverse-dependency endpoint, so candidates are checked on demand.

Adoption Assessment

Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.

No SPDX license expression is published. Review the license text and your organisation's policy before redistribution.Compatibility metadata lists 5 target frameworks; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.