2012-04-26 17 views
10

Estoy tratando de extraer un BitmapImage desde un JPG. Este es el código que tengo:C# Cargar archivo JPG, extraer BitmapImage

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

trata de una imagen 0 × 0, que por supuesto significa que no funcionaba con. ¿Cómo hago esto?

Respuesta

19

Prueba esto:

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

o simplemente puede hacer esto (source):

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

He encontrado mi error: Necesito utilizar la imagen, no BitmapImage. ¡Sabía que no era necesario que fuera complicado! Este es el código de trabajo: Image image = Image.FromFile (sourceFileName, true); – IamIC

+0

Ahí va :) – Eugene

+1

¡Chico es así de complicado al principio! Imagen, BitmapImage, ImageSource, JpegImageDecoder etc. etc. – IamIC

Cuestiones relacionadas