Изменение контраста bitmap - C#

Узнай цену своей работы

Формулировка задачи:

 public System.Drawing.Bitmap Apply(Bitmap bmpImg)
        {
            var BrightnessContrastImage = new Bitmap(bmpImg.Width, bmpImg.Height);
            {
                UInt32 p;
                for (int i = 0; i < bmpImg.Height; i++)
                    for (int j = 0; j < bmpImg.Width; j++)
                    {
                        
                        p = BrightnessContrast.core.BrightnessContrast.Brightness(BrightnessContrastImage.pixel[i, j]/*ERROR*/, BrightnessContrastThreshhold);
                        BrightnessContrastImage.FromOnePixelToBitmap/*ERROR*/(i, j, p);
                    }
 
                FromBitmapToScreen(); //ERROR
            }
        }
помогите разобраться в ошибке и как ее исправить

Решение задачи: «Изменение контраста bitmap»

textual
Листинг программы
    class ImageColorMatrixTool
    {
        public Bitmap Transform(Image img, float brightness, float contrast, float saturation)
        {
            var imageAttributes = new ImageAttributes();
 
            var b = brightness;
            var c = contrast;
            var t = (1f - c) / 2f;
            var s = saturation;
            var sr = (1 - s) * 0.3086f;
            var sg = (1 - s) * 0.6094f;
            var sb = (1 - s) * 0.0820f;
 
            float[][] colorMatrixElements = {
               new float[] {c*(sr+s), c*sr,     c*(sr),    0, 0},
               new float[] {c*sg,     c*(sg+s), c*(sg),    0, 0},
               new float[] {c*sb,     c*sb,     c*(sb+s),  0, 0},
               new float[] {0,        0,        0,        1f, 0},
               new float[] {t+b,      t+b,      t+b,       0, 1}};
 
            var colorMatrix = new ColorMatrix(colorMatrixElements);
            imageAttributes.SetColorMatrix(colorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
 
            var result = new Bitmap(img.Width, img.Height);
            using (var gr = Graphics.FromImage(result))
                gr.DrawImage(img,
                           new Rectangle(0, 0, img.Width, img.Height), 0, 0,
                           img.Width, img.Height,
                           GraphicsUnit.Pixel, imageAttributes);
 
            return result;
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4 из 5