Open Source .NET API för bilder
Gratis .NET-bibliotek för att arbeta med färgrymder
Colorful är ett bibliotek med öppen källkod skrivet i C# för att manipulera färger i bilder. API:et tillåter ett brett utbud av färgmanipuleringsfunktioner inklusive färgkonvertering, kromatisk anpassning och konvertering mellan RGB-arbetsutrymmen. Colorful stöder också beräkning av korrelerad färgtemperatur (CCT) från kromaticitet och beräkning av kromaticitet från CCT.
API:et har flera formler för att skilja mellan färger dessutom, colorful innehåller definitioner av alla 24 Macbeth ColorChecker-färger i sRGB, som är användbara för färgkalibrering.
Komma igång med Colorful
Det rekommenderade sättet att installera Colorful är via NuGet. Använd följande kommando för att installera Colourful.
Installera Colorful från NuGet
PM> Install-Package Colourful
Extrahera metadata från bilder med C#
Colorful gör det möjligt att extrahera ett brett utbud av metadatainformation från bilder. Du kan extrahera all information i bilden genom att loopa kataloger och sedan genom att loopa igenom varje tagg i den. Katalogen innehåller information om metadatatyp och taggen innehåller egenskaperna. Du kan extrahera specifik information från bilder med hjälp av directorys.OfType().FirstOrDefault()-metoden.
Extrahera Camera Specific Maker Notes med C#
Med Open Source bildbehandlings-API Colorful kan man extrahera kameraspecifika makernotes för kameror tillverkade Canon, Apple, Agfa, Casio, DJI, Epson, Fujifilm, Kodak, Kyocera, Leica, Minolta, Nikon, Olympus, Panasonic, Pentax, Reconyx, Sanyo, Sigma/Foveon och Sony.
Färgkonvertering b/t färgrymd med C#
Open Source Colorful-biblioteket stöder fullt konvertering mellan färgrymder i .NET-applikationen. Det gör det möjligt för mjukvaruutvecklare att konvertera färger från en enda källfärgrymd till en enda målfärgrymd med bara ett par rader C#-kod. För att uppnå någon form av konvertering måste du först bygga ett konverteringsobjekt.
Konvertera en färg från sRGB till XYZ
IColorConverter converter = new ConverterBuilder()
.FromRGB(RGBWorkingSpaces.sRGB)
.ToXYZ(Illuminants.D65)
.Build();
RGBColor rgbColor = new RGBColor(1, 0, 0.5);
XYZColor xyzColor = converter.Convert(rgbColor); // XYZ [X=0.45, Y=0.23, Z=0.22]