C# Load JPG file, extract BitmapImage

IamIC picture IamIC · Apr 26, 2012 · Viewed 46.9k times · Source

I am trying to extract a BitmapImage from a JPG. This is the code I have:

FileStream fIn = new FileStream(sourceFileName, FileMode.Open); // source JPG
Bitmap dImg = new Bitmap(fIn);
MemoryStream ms = new MemoryStream();
dImg.Save(ms, ImageFormat.Jpeg);
image = new BitmapImage();
image.BeginInit();
image.StreamSource = new MemoryStream(ms.ToArray());
image.EndInit();
ms.Close();

image comes back with a 0 × 0 image, which of course means it didn't work. How do I do this?

Answer

Eugene picture Eugene · Apr 26, 2012

Try this:

public void Load(string fileName) 
{

    using(Stream BitmapStream = System.IO.File.Open(fileName,System.IO.FileMode.Open ))
    {
         Image img = Image.FromStream(BitmapStream);

         mBitmap=new Bitmap(img);
         //...do whatever
    }
}

Or you can just do this (source):

Bitmap myBmp = Bitmap.FromFile("path here");