web-dev-qa-db-ja.com

C#JPGファイルを読み込み、BitmapImageを抽出する

JPGからBitmapImageを抽出しようとしています。これは私が持っているコードです:

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();

画像は0×0の画像で返されます。これはもちろん、機能しなかったことを意味します。どうすればよいですか?

14
IamIC

これを試して:

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
    }
}

または、これを行うこともできます( source ):

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