2010-08-05 8 views

Répondre

6

Vous pouvez lire les octets de l'image du disque dans un tableau d'octets, puis créer votre objet BitmapImage.

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

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

return img; 
+3

Mais cette fuites MemoryStream! Vous devez définir CacheOption = OnLoad et disposer le flux par la suite. – Vlad

2

Le code suivant:

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

Cela fonctionne pour moi:

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