MegaMan.LevelEditor.ScreenDrawingSurface.ConvertToGrayscale C# (CSharp) Метод

ConvertToGrayscale() приватный статический Метод

private static ConvertToGrayscale ( Bitmap original ) : Bitmap
original System.Drawing.Bitmap
Результат System.Drawing.Bitmap
        private static Bitmap ConvertToGrayscale(Bitmap original)
        {
            //create a blank bitmap the same size as original
            Bitmap newBitmap = new Bitmap(original.Width, original.Height);

            //get a graphics object from the new image
            Graphics g = Graphics.FromImage(newBitmap);

            //create some image attributes
            ImageAttributes attributes = new ImageAttributes();

            //set the color matrix attribute
            attributes.SetColorMatrix(grayMatrix);

            //draw the original image on the new image
            //using the grayscale color matrix
            g.DrawImage(original, new Rectangle(0, 0, original.Width, original.Height),
               0, 0, original.Width, original.Height, GraphicsUnit.Pixel, attributes);

            //dispose the Graphics object
            g.Dispose();
            return newBitmap;
        }