WPF图像的亮度

时间:2018-12-18 03:54:08

标签: c# wpf image bitmap brightness

我是C#的初学者,我想使用在其他论坛上找到的一些代码来更改WPF控件图像的亮度:

public Bitmap AdjustBrightness(Bitmap Image, int Value)
{
    Bitmap TempBitmap = Image;

    Bitmap NewBitmap = new Bitmap(TempBitmap.Width, TempBitmap.Height);

    Graphics NewGraphics = Graphics.FromImage(NewBitmap);

    float FinalValue = (float)Value / 255.0f;

    float[][] FloatColorMatrix ={

        new float[] {1, 0, 0, 0, 0},

        new float[] {0, 1, 0, 0, 0},

        new float[] {0, 0, 1, 0, 0},

        new float[] {0, 0, 0, 1, 0},

        new float[] {FinalValue, FinalValue, FinalValue, 1, 1}
    };

    ColorMatrix NewColorMatrix = new ColorMatrix(FloatColorMatrix);

    ImageAttributes Attributes = new ImageAttributes();

    Attributes.SetColorMatrix(NewColorMatrix);

    NewGraphics.DrawImage(TempBitmap, new Rectangle(0, 0, TempBitmap.Width, TempBitmap.Height), 0, 0, TempBitmap.Width, TempBitmap.Height, GraphicsUnit.Pixel, Attributes);

    Attributes.Dispose();

    NewGraphics.Dispose();

    return NewBitmap;
}

但是,我只知道如何从字符串设置图像源。到目前为止,这就是我设置图像来源的方式。

image.Source = new BitmapImage(new Uri("/Images/...",
UriKind.RelativeOrAbsolute));

如何从该图像创建位图,将其传递给亮度功能,然后获取生成的位图并设置图像的Source属性,以便在WPF中显示增亮的图像?

0 个答案:

没有答案