A comprehensive .NET library for colour conversion, interpolation, comparison, and gamut mapping across 40+ colour spaces.
Unicolour is a .NET library for comprehensive colour manipulation, offering conversion between 40+ colour spaces, colour mixing, difference calculations, and gamut mapping. It solves the problem of inconsistent and incomplete colour handling in .NET applications by providing a unified, accurate, and dependency-free solution.
.NET developers working on graphics, design tools, data visualization, or any application requiring precise colour operations and conversions.
Developers choose Unicolour for its extensive colour space support, accurate conversions, intuitive API, and zero dependencies, making it the most comprehensive colour library for .NET.
🌈 Colour / Color conversion, interpolation, and comparison for .NET
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports over 40 colour spaces including CIELAB, Oklab, and CMYK with ICC profiles, enabling accurate conversions for diverse use cases as shown in the detailed conversion tables.
Written with no external libraries, reducing deployment risks and ensuring compatibility across .NET platforms, which is emphasized in the README's 'zero dependencies' philosophy.
Claims 100% line and branch coverage with extensive tests, including roundtrip conversions and validation against known values, ensuring reliability for colour operations.
Includes gamut mapping, colour vision deficiency simulation, and pigment modeling using Kubelka-Munk theory, going beyond basic colour operations with practical examples in the README.
The README explicitly states 'performance is not a priority,' and while conversions are cached, complex operations like spectral distributions or pigment mixing may be slower than optimized libraries.
Requires setting up multiple sub-configurations (e.g., RgbConfiguration, XyzConfiguration) for precise colour management, which can be daunting and error-prone for users without colour science background.
Some ICC profile versions (e.g., version 5/iccMAX) and classes (e.g., DeviceLink) are not supported, as indicated by ❌ in the compatibility tables, limiting professional colour workflows in print or design.