Making image editing tool in C#-Brightness of an image

 
Now next article of this series describes how to set the brightness of an image.
For this we can use concept of colormatrix class of system.Drawing namespace.ColorMattrix defines a 5 x 5 matrix that contains the coordinates for the RGBAW space.

Download Source Code
You can go msdn for understanding concept of color matrix

http://msdn.microsoft.com/en-us/library/system.drawing.imaging.colormatrix.aspx
http://msdn.microsoft.com/en-us/library/system.drawing.imaging.colormatrix(v=VS.71).aspx

first design brightness tab like this layout

Image editor -Brightness of an image

write code on the trackbar_scroll event:

DomainUpDownBrightness.Text = TrackBarBrightness.Value.ToString();
float value = TrackBarBrightness.Value * 0.01f;

This line set the brightness value of image in domainUpDown control withrange -100 to 100.
And below we demine single type array in 5 x 5 matrix

float[][] colorMatrixElements = {
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[] {value,value,value,0,1}
};

Define colormatrix

ColorMatrix colorMatrix = new ColorMatrix(colorMatrixElements);

An ImageAttributes object maintains color and grayscale settings for five adjustment categories: default, bitmap, brush, pen, and text. For example, you can specify a color-adjustment matrix for the default category, a different color-adjustment matrix for the bitmap category, and still a different color-adjustment matrix for the pen category.

ImageAttributes imageAttributes = new ImageAttributes();
imageAttributes.SetColorMatrix(colorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
Image _img = Img;
//PictureBox1.Image
Graphics _g = default(Graphics);
Bitmap bm_dest = new Bitmap(Convert.ToInt32(_img.Width), Convert.ToInt32(_img.Height));
_g = Graphics.FromImage(bm_dest);
_g.DrawImage(_img, new Rectangle(0, 0, bm_dest.Width + 1, bm_dest.Height + 1), 0, 0, bm_dest.Width + 1, bm_dest.Height + 1, GraphicsUnit.Pixel, imageAttributes);
PictureBox1.Image = bm_dest;

Brightness of the an Image in the Image editor in C#
you can get brightness setting by above code


Other related articles of this series:

Making image editing tool in C#

making image editing tool in C#- Resize an image

Making image editing tool in C#- Crop an image

Making image editing tool in C#- Rotations of an image