Enum IccProfileClass
What an ICC profile describes, from its header's class field.
public enum IccProfileClass
Fields
Abstract = 6An effect from PCS to PCS (
abst). Egami does not convert with these.ColorSpace = 5A color space such as a working space (
spac).DeviceLink = 4A link from one device space straight to another (
link). Egami does not convert with these.Display = 2A display (
mntr); most RGB profiles in images.Input = 1An input device such as a camera or scanner (
scnr).NamedColor = 7A list of named colors (
nmcl). Egami does not convert with these.Output = 3An output device such as a printer (
prtr); most CMYK profiles.Unknown = 0A class Egami does not know.
Examples
// IccData reads a profile's header and tags; it never throws, and says what was wrong with a damaged one.
IccData icc = IccData.Parse(bytes);
Console.WriteLine($"{icc.Description}: version {icc.Version}, {icc.ProfileClass}, {icc.DataSpace} to {icc.ConnectionSpace}, damaged: {icc.IsDamaged}");
foreach (IccTag tag in icc.Tags)
{
Console.WriteLine($" {tag.Signature} ({tag.Type}), {tag.Data.Length} bytes");
}
// ColorProfile.FromIcc makes an encoding from it: a matrix profile gets its primaries and curve, so an ICC profile written
// for Display P3 is equivalent to the built-in.
ColorProfile profile = ColorProfile.FromIcc(icc);
bool isP3 = profile.IsEquivalentTo(ColorProfile.DisplayP3);