65.9K
CodeProject is changing. Read more.
Home

Change Opacity of Image in C#

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.91/5 (21 votes)

May 25, 2011

CPOL
viewsIcon

119829

downloadIcon

1

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#[^]