Change Opacity of Image in C#






4.91/5 (21 votes)
A tip which enables you to change Opacity of Image in C#
This is a simple tip/trick which enables you to change Opacity of Image using C# by using
System.Drawing
and System.Drawing.Imaging
NameSpaces.
Take a look at how ChangeOpacity(Image img, float opacityvalue)
method will enable you to change opacity of Image
.
In this given code, System.Drawing
Namespace is used to access Bitmap
and Graphics
classes whereas System.Drawing.Imaging
Namespaces is used to access ColorMatrix
and ImageAttributes
.
ChangeOpacity
method has two parameters including img
for Image on which opacity will apply, and opacityvalue
for set opacity level of form.
using System; using System.Drawing; using System.Drawing.Imaging; namespace ImageUtils { class ImageTransparency { public static Bitmap ChangeOpacity(Image img, float opacityvalue) { Bitmap bmp = new Bitmap(img.Width,img.Height); // Determining Width and Height of Source Image Graphics graphics = Graphics.FromImage(bmp); ColorMatrix colormatrix = new ColorMatrix(); colormatrix.Matrix33 = opacityvalue; ImageAttributes imgAttribute = new ImageAttributes(); imgAttribute.SetColorMatrix(colormatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap); graphics.DrawImage(img, new Rectangle(0, 0, bmp.Width, bmp.Height), 0, 0, img.Width, img.Height, GraphicsUnit.Pixel, imgAttribute); graphics.Dispose(); // Releasing all resource used by graphics return bmp; } } }When you will use this method in your program to change opacity of an image in
pictureBox
control, you need to write code as given below:
float opacityvalue = float.Parse(txtopacityvalue.Text) / 100;
pictureBox1.Image = ImageUtils.ImageTransparency.ChangeOpacity(Image.FromFile("filename"),opacityvalue); //calling ChangeOpacity Function
To learn how to use the given code in your program:
Click here[^] to download source code.
[Edited-"Adding Reference Link"]
Reference Article: There-Image Opacity Using C#[^]