Converting PNG to Bitmap in C#: A Step-by-Step Guide

Nirav Parmar
2 min readJun 13, 2023

Introduction :

Converting images between different formats is a common task in various applications. If you’re a developer with basic knowledge of C#, understanding how to convert PNG images to Bitmap format can be beneficial. In this tutorial, we will walk you through the process of converting PNG images to Bitmap in C#.

By the end of this guide, you’ll have a clear understanding of how to perform this conversion. Let’s get started!

Table of Contents:

  • Introduction to Image Conversion
  • Setting up the Development Environment
  • Converting PNG to Bitmap in C#
  • Saving the Converted Bitmap Image
  • Conclusion

Image conversion involves transforming an image from one format to another. PNG (Portable Network Graphics) and Bitmap (BMP) are popular image formats, and converting between them can be useful in various scenarios. While PNG offers lossless compression and supports transparency, Bitmap is a widely supported format that provides direct access to pixel data.

Setting up the Development Environment:

To follow along with this tutorial, make sure you have:

  • Visual Studio or any other preferred IDE.
  • Basic understanding of C# programming language.

Converting PNG to Bitmap in C#:

To convert a PNG image to Bitmap format in C#, you can use the System.Drawing namespace, which provides classes for working with images. Here’s an example code snippet:

using System.Drawing;
using System.Drawing.Imaging;

class Program
{
static void Main()
{
string pngFilePath = "path/to/input.png";

// Load the PNG image
using (var pngImage = new Bitmap(pngFilePath))
{
// Create a new Bitmap image with the same dimensions as the PNG image
using (var bitmapImage = new Bitmap(pngImage.Width, pngImage.Height, PixelFormat.Format32bppArgb))
{
// Draw the PNG image onto the Bitmap image
using (var graphics = Graphics.FromImage(bitmapImage))
{
graphics.DrawImage(pngImage, new Rectangle(0, 0, pngImage.Width, pngImage.Height));
}

// Further processing with the converted Bitmap image
// ...
}
}
}
}

In the above code snippet, we load the PNG image using the Bitmap class, create a new Bitmap image with the same dimensions, and draw the PNG image onto the Bitmap image using the Graphics.DrawImage method.

Saving the Converted Bitmap Image:

Once you have the converted Bitmap image, you may want to save it to a file. Here’s how you can do it:

In the above code, we specify the desired output file path (bitmapFilePath) and use the Save method of the Bitmap class to save the Bitmap image in BMP format.

Conclusion:

Congratulations! You have learned how to convert PNG images to Bitmap format in C#. By utilizing the System.Drawing namespace, we were able to load the PNG image, create a Bitmap image, and perform the conversion. Additionally, we explored how to save the converted Bitmap image to a file.

Now that you have a solid understanding of converting PNG to Bitmap in C#, you can apply this knowledge to handle image conversions in your own projects. Happy coding!

--

--

Nirav Parmar

Experienced C# dev with 3+ yrs exp. Skilled in .NET, ASP.NET, MVC, Entity Framework, SQL Server. MCSD certified. Passionate about software dev.