|
|
|
@ -12,13 +12,39 @@ internal static class TestIccProfiles |
|
|
|
private static readonly ConcurrentDictionary<string, IccProfile> ProfileCache = new(); |
|
|
|
private static readonly ConcurrentDictionary<string, Wacton.Unicolour.Configuration> UnicolourConfigurationCache = new(); |
|
|
|
|
|
|
|
public const string Fogra39 = "Coated_Fogra39L_VIGC_300.icc"; // v2 CMYK -> LAB, output, lut16
|
|
|
|
public const string Swop2006 = "SWOP2006_Coated5v2.icc"; // v2 CMYK -> LAB, output, lut16
|
|
|
|
public const string JapanColor2011 = "JapanColor2011Coated.icc"; // v2 CMYK -> LAB, output, lut8
|
|
|
|
public const string Cgats21 = "CGATS21_CRPC7.icc"; // v4 CMYK -> LAB, output, lutAToB: B-CLUT-A
|
|
|
|
public const string RommRgb = "ISO22028-2_ROMM-RGB.icc"; // v4 RGB -> XYZ, colorspace, lutAToB: B-Matrix-M [only intent 0]
|
|
|
|
public const string StandardRgbV4 = "sRGB_v4_ICC_preference.icc"; // v4 RGB -> LAB, colorspace, lutAToB: B-Matrix-M-CLUT-A [only intent 0 & 1]
|
|
|
|
public const string StandardRgbV2 = "sRGB2014.icc"; // v2 RGB -> XYZ, display, TRCs
|
|
|
|
/// <summary>
|
|
|
|
/// v2 CMYK -> LAB, output, lut16
|
|
|
|
/// </summary>
|
|
|
|
public const string Fogra39 = "Coated_Fogra39L_VIGC_300.icc"; |
|
|
|
/// <summary>
|
|
|
|
/// v2 CMYK -> LAB, output, lut16
|
|
|
|
/// </summary>
|
|
|
|
public const string Swop2006 = "SWOP2006_Coated5v2.icc"; |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// v2 CMYK -> LAB, output, lut8
|
|
|
|
/// </summary>
|
|
|
|
public const string JapanColor2011 = "JapanColor2011Coated.icc"; |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// v4 CMYK -> LAB, output, lutAToB: B-CLUT-A
|
|
|
|
/// </summary>
|
|
|
|
public const string Cgats21 = "CGATS21_CRPC7.icc"; |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// v4 RGB -> XYZ, colorspace, lutAToB: B-Matrix-M [only intent 0]
|
|
|
|
/// </summary>
|
|
|
|
public const string RommRgb = "ISO22028-2_ROMM-RGB.icc"; |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// v4 RGB -> LAB, colorspace, lutAToB: B-Matrix-M-CLUT-A [only intent 0 & 1]
|
|
|
|
/// </summary>
|
|
|
|
public const string StandardRgbV4 = "sRGB_v4_ICC_preference.icc"; |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// v2 RGB -> XYZ, display, TRCs
|
|
|
|
/// </summary>
|
|
|
|
public const string StandardRgbV2 = "sRGB2014.icc"; |
|
|
|
|
|
|
|
public static IccProfile GetProfile(string file) |
|
|
|
=> ProfileCache.GetOrAdd(file, f => new IccProfile(File.ReadAllBytes(GetFullPath(f)))); |
|
|
|
@ -26,7 +52,7 @@ internal static class TestIccProfiles |
|
|
|
public static Wacton.Unicolour.Configuration GetUnicolourConfiguration(string file) |
|
|
|
=> UnicolourConfigurationCache.GetOrAdd( |
|
|
|
file, |
|
|
|
f => new Wacton.Unicolour.Configuration(iccConfiguration: new(GetFullPath(f), Intent.Unspecified, file))); |
|
|
|
f => new Wacton.Unicolour.Configuration(iccConfiguration: new(GetFullPath(f), Intent.Unspecified, f))); |
|
|
|
|
|
|
|
private static string GetFullPath(string file) |
|
|
|
=> Path.GetFullPath(Path.Combine(".", "TestDataIcc", "Profiles", file)); |
|
|
|
|