public static Color ToColor(CMYK value) { if (value.Cyan == 0 && value.Magenta == 0 && value.Yellow == 0 && value.Key == 1) { return(Color.FromArgb(value.Alpha, 0, 0, 0)); } double c = value.Cyan * (1 - value.Key) + value.Key; double m = value.Magenta * (1 - value.Key) + value.Key; double y = value.Yellow * (1 - value.Key) + value.Key; int r = (int)Math.Round((1 - c) * 255); int g = (int)Math.Round((1 - m) * 255); int b = (int)Math.Round((1 - y) * 255); return(Color.FromArgb(value.Alpha, r, g, b)); }
public static void FromCMYK(this Color @this, CMYK value) { @this = ColorHelper.ToColor(value); }