How to generate a PNG file with C#?

Villager picture Villager · Jan 3, 2011 · Viewed 42.1k times · Source

I'm trying to generate a PNG file using C#. Everything I google seems to be WPF related. My issue is, I need to create a PNG 50x50 square filled with green in .NET 2.0.

My question is, how do I do this? I was looking in the System.Drawing namespace. But after all of that, I feel I'm way off. Can someone give me some pointers?

Answer

Guffa picture Guffa · Jan 3, 2011

You can create a bitmap with the size you want, then create a Graphics object to be able to draw on the bitmap. The Clear method is the simplest way to fill the image with a color. Then save the image using the PNG format:

using (Bitmap b = new Bitmap(50, 50)) {
  using (Graphics g = Graphics.FromImage(b)) {
    g.Clear(Color.Green);
  }
  b.Save(@"C:\green.png", ImageFormat.Png);
}