Example #1
0
        /// <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;
        }
Example #2
0
        /// <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));
        }