2013-05-31 12 views
6

Ich versuche, ein Bild aus einer Ressource nur DLL-Datei zu lesen. Ich bin in der Lage, den Bildnamen und Bildbytes zu lesen, aber wie setze ich das Image Steuerelement in Stream-Puffer? In Windows Form, ich weiß, ich diese verwenden:IO.Stream zu Bild in WPF

pictureBox1.Image=new System.Drawing.Bitmap(IOStream); 

, da es keine Zeichnung Namespace in wpf ist, wie kann ich das Gleiche erreichen?

+0

Ja gibt es, fügen Sie einfach den Verweis auf System.Drawing.dll mit dem VS "Add Reference" -Dialogfeld –

Antwort

3

In WPF haben Sie wahrscheinlich ein Image Element in Ihrem XAML. Die Source kann jede BitmapImage sein. Sie können eine BitmapImage von Ihrem ViewModel binden, wo Sie eine Instanz von Stream wie this erstellen können.

13

In WPF können Sie die Source Eigenschaft eines Image, wie in diesem Beispiel gesetzt:

Image image = new Image(); 
using (MemoryStream stream = new MemoryStream(byteArray)) 
{ 
    image.Source = BitmapFrame.Create(stream, 
             BitmapCreateOptions.None, 
             BitmapCacheOption.OnLoad); 
} 

Wo byteArray ist die Byte-Array mit der Quelle des Bildes.

+0

@TanujWadhwa Sorry, ich missverstanden die Frage, bearbeitet, um dies zu reflektieren. –

+0

was ich gesucht habe. – HXD