2010-08-05 18 views

Respuesta

6

Puede leer los bytes de la imagen del disco en una matriz de bytes y luego crear su objeto BitmapImage.

var stream = new MemoryStream(imageBytes); 
var img = new System.Windows.Media.Imaging.BitmapImage(); 

img.BeginInit(); 
img.StreamSource = stream; 
img.EndInit(); 

return img; 
+3

Pero esta fuga MemoryStream! Debe establecer CacheOption = OnLoad y desechar la transmisión posteriormente. – Vlad

2

El código sigue:

FileStream fileStream = 
    new FileStream(fileName, FileMode.Open, FileAccess.Read); 

var img = new System.Windows.Media.Imaging.BitmapImage(); 
img.BeginInit(); 
img.StreamSource = fileStream; 
img.EndInit(); 
31

Esto funciona para mí:

BitmapSource bSource = new BitmapImage(new Uri("c:\\image.bmp")); 
BitmapImage bImage = new BitmapImage(new Uri("c:\\image.bmp"));