An open-source .NET library for converting colors between various color spaces, computing color differences, and handling illuminants.
Colourful is an open-source .NET library that provides comprehensive tools for working with color spaces. It enables developers to convert colors between various models like RGB, XYZ, Lab, and Luv, compute color differences using standard algorithms, and handle chromatic adaptation for different illuminants. The library solves the problem of accurate and consistent color manipulation in .NET applications.
.NET developers who need precise color processing in applications such as image editing tools, design software, data visualization, or scientific computing. It's particularly useful for those implementing color management systems or working with multiple color standards.
Developers choose Colourful for its extensive support of color spaces and standards, adherence to color science principles, and flexibility through customizable converters and matrices. Its CLS compliance ensures broad .NET language compatibility.
🎨 Open source .NET library for working with color spaces.
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 15 RGB working spaces, multiple Lab/Luv variants, and modern spaces like Jzazbz, as detailed in the documentation pages.
Implements multiple LMS transformation matrices including Bradford, CMCCAT2000, and CAT02, ensuring precise white point adjustments for cross-media consistency.
Includes Delta-E 1976, 1994, 2000, CMC, and Euclidean distance algorithms, providing reliable metrics for color comparison in quality control.
Allows user-defined chromatic adaptation matrices and RGB working spaces, enabling custom implementations beyond built-in standards.
The ConverterBuilder pattern requires multiple steps for simple conversions, making it verbose compared to direct method calls in lighter libraries.
The README has a dedicated page for changes between v2 and v3, indicating that major updates may not be backward compatible, risking code adjustments.
No built-in caching or bulk operation support is mentioned, which could impact high-throughput scenarios like real-time image processing.