Beispiel #1
0
        }        //end public

        /// <summary>
        /// Compute a grayscale value from the source color using the given Strategy.
        /// </summary>
        /// <param name="color">The source color</param>
        /// <param name="Strategy">The grayscale strategy</param>
        /// <returns>The grayscale color with the same type as color</returns>
        public static IColor Grayscale(IColor color, GrayscaleStrategy Strategy)
        {
            IColor returnColor = (IColor)System.Activator.CreateInstance(color.GetType());
            byte   val         = Strategy(color);

            returnColor.Red   = returnColor.Green = returnColor.Blue = val;
            returnColor.Alpha = 255;
            return(returnColor);
        }        //end public
Beispiel #2
0
        public static IColor Grayscale(IColor color, GrayscaleStrategy Strategy)
        {
            IColor color2 = (IColor)Activator.CreateInstance(color.GetType());
            byte   b      = Strategy(color);
            IColor color3 = color2;
            byte   b3     = color2.Blue = b;

            b3           = (color2.Green = b3);
            color3.Red   = b3;
            color2.Alpha = byte.MaxValue;
            return(color2);
        }