Create image with transparent background using GDI+?

Julien Poulin picture Julien Poulin · Apr 2, 2009 · Viewed 32.1k times · Source

I'm trying to create an image with a transparent background to display on a web page.
I've tried several techniques but the background is always black.
How can I create a transparent image and then draw some lines on it ?

Answer

OregonGhost picture OregonGhost · Apr 2, 2009

Call Graphics.Clear(Color.Transparent) to, well, clear the image. Don't forget to create it with a pixel format that has an alpha channel, e.g. PixelFormat.Format32bppArgb. Like this:

var image = new Bitmap(135, 135, PixelFormat.Format32bppArgb);
using (var g = Graphics.FromImage(image)) {
    g.Clear(Color.Transparent);
    g.DrawLine(Pens.Red, 0, 0, 135, 135);
}

Assumes you're using System.Drawing and System.Drawing.Imaging.

Edit: Seems like you don't actually need the Clear(). Just creating the image with an alpha channel creates a blank (fully transparent) image.