Ejemplo n.º 1
0
        public static Cmyk CreateFrom(byte red, byte green, byte blue)
        {
            Cmyk cmyk = new Cmyk();

            //cmyk.C = (byte)(255 - red);
            //cmyk.M = (byte)(255 - green);
            //cmyk.Y = (byte)(255 - blue);

            //cmyk.K = (byte)Math.Min(Math.Min(cmyk.C, cmyk.M), cmyk.Y);
            //cmyk.C = (byte)(cmyk.C - cmyk.K);
            //cmyk.M = (byte)(cmyk.M - cmyk.K);
            //cmyk.Y = (byte)(cmyk.Y - cmyk.K);

            //return cmyk;

            cmyk.K = (byte)(Math.Min(Math.Min(255 - red, 255 - green), 255 - blue) / 2.55);
            int MyR = (int)(red / 2.55);
            int Div = 100 - cmyk.K;

            if (Div <= 0)
            {
                Div = 1;
            }
            cmyk.C = (byte)(100 * (100 - MyR - cmyk.K) / Div);
            int MyG = (int)(green / 2.55);

            cmyk.M = (byte)(100 * (100 - MyG - cmyk.K) / Div);
            int MyB = (int)(blue / 2.55);

            cmyk.Y = (byte)(100 * (100 - MyB - cmyk.K) / Div);
            return(cmyk);
        }
Ejemplo n.º 2
0
        public static Cmyk CreateFrom(byte red, byte green, byte blue)
        {
            Cmyk cmyk = new Cmyk();

            //cmyk.C = (byte)(255 - red);
            //cmyk.M = (byte)(255 - green);
            //cmyk.Y = (byte)(255 - blue);

            //cmyk.K = (byte)Math.Min(Math.Min(cmyk.C, cmyk.M), cmyk.Y);
            //cmyk.C = (byte)(cmyk.C - cmyk.K);
            //cmyk.M = (byte)(cmyk.M - cmyk.K);
            //cmyk.Y = (byte)(cmyk.Y - cmyk.K);

            //return cmyk;

            cmyk.K = (byte)(Math.Min(Math.Min(255 - red, 255 - green), 255 - blue) / 2.55);
            int MyR = (int)(red / 2.55);
            int Div = 100 - cmyk.K;
            if (Div <= 0) Div = 1;
            cmyk.C = (byte)(100 * (100 - MyR - cmyk.K) / Div);
            int MyG = (int)(green / 2.55);
            cmyk.M = (byte)(100 * (100 - MyG - cmyk.K) / Div);
            int MyB = (int)(blue / 2.55);
            cmyk.Y = (byte)(100 * (100 - MyB - cmyk.K) / Div);
            return cmyk;
        }