/// <summary>Converts CMYK to RGB.</summary> /// <param name="colorToConvert">A color to convert.</param> /// <returns>A Color object.</returns> public static GUIColor CMYKToRGB(CMYK colorToConvert) { #if DEBUG if (colorToConvert == null) { throw new ArgumentNullException("colorToConvert"); } #endif int red, green, blue; red = Round(255 - (255 * colorToConvert.Cyan)); green = Round(255 - (255 * colorToConvert.Magenta)); blue = Round(255 - (255 * colorToConvert.Yellow)); return(GUIColor.FromARGB(red, green, blue)); }
/// <summary>Converts CMYK to RGB.</summary> /// <param name="colorToConvert">A color to convert.</param> /// <returns>A Color object.</returns> public static GUIColor CMYKToRGB(CMYK colorToConvert) { #if DEBUG if (colorToConvert == null) { throw new ArgumentNullException("colorToConvert"); } #endif int red, green, blue; red = Round(255 - (255 * colorToConvert.Cyan)); green = Round(255 - (255 * colorToConvert.Magenta)); blue = Round(255 - (255 * colorToConvert.Yellow)); return GUIColor.FromARGB(red, green, blue); }
/// <summary>Converts RGB to CMYK.</summary> /// <param name="colorToConvert">A color to convert.</param> /// <returns>A CMYK object.</returns> public static CMYK RGBToCMYK(GUIColor colorToConvert) // ReSharper restore InconsistentNaming { var cmyk = new CMYK(); var low = 1.0; cmyk.Cyan = (double)(255 - colorToConvert.R) / 255; if (low > cmyk.Cyan) { low = cmyk.Cyan; } cmyk.Magenta = (double)(255 - colorToConvert.G) / 255; if (low > cmyk.Magenta) { low = cmyk.Magenta; } cmyk.Yellow = (double)(255 - colorToConvert.B) / 255; if (low > cmyk.Yellow) { low = cmyk.Yellow; } if (low > 0.0) { cmyk.KeyBlack = low; } return cmyk; }