/// <summary> /// Initializes a new instance of the <see cref="CmykColor"/> struct. /// </summary> /// <param name="color"> /// The <see cref="System.Drawing.Color"/> to initialize from. /// </param> private CmykColor(Color color) { CmykColor cmykColor = color; this.c = cmykColor.c; this.m = cmykColor.m; this.y = cmykColor.y; this.k = cmykColor.k; }
/// <summary> /// Adds colors together using the CMYK color format. /// </summary> /// <param name="color"> /// The color to add to. /// </param> /// <param name="colors"> /// The colors to add to the initial one. /// </param> /// <returns> /// The combined <see cref="CmykColor"/>. /// </returns> public static CmykColor AddAsCmykColor(this Color color, params Color[] colors) { CmykColor cmyk = color; float c = color.A > 0 ? cmyk.C : 0; float m = color.A > 0 ? cmyk.M : 0; float y = color.A > 0 ? cmyk.Y : 0; float k = color.A > 0 ? cmyk.K : 0; foreach (Color addColor in colors) { if (addColor.A > 0) { CmykColor cmykAdd = addColor; c += cmykAdd.C; m += cmykAdd.M; y += cmykAdd.Y; k += cmykAdd.K; } } return(CmykColor.FromCmykColor(c, m, y, k)); }