Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to load a bitmap file in a .NET console application

Tags:

c#

bitmap

wpf

bmp

I'm trying to make a Console Application with C# that starts by loading an 8-bit gray level bitmap file (typically BMP) and transform it into a two dimensional byte array, where (as you would expect) the byte at position x,y is the intensity of pixel x,y. I then have a lot of code that will do some work on the bitmap as array.

The trouble is that I've seen this done with calls from WPF modules which just are not available in a console application. I don't want to use System.Windows.Media.Imaging for example.

Does anyone have any suggestion as to how I can do this without too much trouble?

like image 838
user1741137 Avatar asked Feb 18 '14 19:02

user1741137


1 Answers

You can add the System.Drawing.dll assembly to your project's references. Then you can use the System.Drawing.Bitmap class.

Add the following to the top of your code file to add the namespace System.Drawing:

using System.Drawing;

To load a bitmap:

Bitmap bitmap = (Bitmap)Image.FromFile(@"mypath.bmp");

When you're done with the bitmap:

bitmap.Dispose();

You can get the width, the height, and any pixels within the bitmap:

int width = bitmap.Width;
int height = bitmap.Height;
Color pixel00 = bitmap.GetPixel(0, 0);
like image 126
Daniel A.A. Pelsmaeker Avatar answered Oct 16 '22 23:10

Daniel A.A. Pelsmaeker