Ejemplo n.º 1
0
        /// <summary>
        /// Converts from a Argb(system) color to CYMK
        /// </summary>
        public static Cymk ToCymk(Color value)
        {
            Cymk cmyk = new Cymk();

            cmyk.Alpha = value.Alpha;
            double low = 1f;

            cmyk.Cyan = (double)(255 - value.Red) / 255;
            if (low > cmyk.Cyan)
            {
                low = cmyk.Cyan;
            }

            cmyk.Magenta = (double)(255 - value.Green) / 255;
            if (low > cmyk.Magenta)
            {
                low = cmyk.Magenta;
            }

            cmyk.Yellow = (double)(255 - value.Blue) / 255;
            if (low > cmyk.Yellow)
            {
                low = cmyk.Yellow;
            }

            if (low > 0.0)
            {
                cmyk.Black = low;
            }

            return(cmyk);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Converts from a CYMK color to Argb (system) color
        /// </summary>
        public static Color ToColor(Cymk value)
        {
            byte red, green, blue;

            red   = Round(255 - (255 * value.Cyan));
            green = Round(255 - (255 * value.Magenta));
            blue  = Round(255 - (255 * value.Yellow));

            return(new Color(value.Alpha, red, green, blue));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Create a new color in CYMK colorspace
        /// </summary>
        /// <param name="cyan">cyan component. Range: [0, 1]</param>
        /// <param name="magenta">yellow component. Range: [0, 1]</param>
        /// <param name="yellow">magenta component. Range: [0, 1]</param>
        /// <param name="black">black component. Range: [0, 1]</param>
        /// <param name="alpha">Alpha component. Range: [0, 255]</param>
        public static Cymk CreateCymk(double cyan, double yellow, double magenta, double black, int alpha)
        {
            //range checking
            //cyan
            if (cyan > 1)
            {
                cyan = 1;
            }
            else if (cyan < 0)
            {
                cyan = 0;
            }
            //yellow
            if (yellow > 1)
            {
                yellow = 1;
            }
            else if (yellow < 0)
            {
                yellow = 0;
            }
            //magenta
            if (magenta > 1)
            {
                magenta = 1;
            }
            else if (magenta < 0)
            {
                magenta = 0;
            }
            //alpha
            if (alpha > 255)
            {
                alpha = 255;
            }
            else if (alpha < 0)
            {
                alpha = 0;
            }

            Cymk result = new Cymk(cyan, yellow, magenta, black);

            result.Alpha = (byte)alpha;
            return(result);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Converts from a Argb(system) color to CYMK
        /// </summary>
        public static Cymk ToCymk(Color value)
        {
            Cymk cmyk = new Cymk();
            cmyk.Alpha = value.Alpha;
            double low = 1f;

            cmyk.Cyan = (double)(255 - value.Red) / 255;
            if (low > cmyk.Cyan)
                low = cmyk.Cyan;

            cmyk.Magenta = (double)(255 - value.Green) / 255;
            if (low > cmyk.Magenta)
                low = cmyk.Magenta;

            cmyk.Yellow = (double)(255 - value.Blue) / 255;
            if (low > cmyk.Yellow)
                low = cmyk.Yellow;

            if (low > 0.0)
            {
                cmyk.Black = low;
            }

            return cmyk;
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Converts from a CYMK color to Argb (system) color
        /// </summary>
        public static Color ToColor(Cymk value)
        {
            byte red, green, blue;

            red = Round(255 - (255 * value.Cyan));
            green = Round(255 - (255 * value.Magenta));
            blue = Round(255 - (255 * value.Yellow));

            return new Color(value.Alpha, red, green, blue);
        }