Feedback

C# - Bilder aus *.resx Ressourcen Dateien in WPF verwenden

Veröffentlicht von am 23.11.2009
(2 Bewertungen)
Ich hatte des öfteren Probleme wenn ich z.b icons in einer dll (.net assembly) verpackt habe, diese auch in WPF zu verwenden.

Das liegt daran, das Visual Studio jegliche Bilddateien als System.Drawing.Bitmap in der Ressourcen Datei *.resx speichert. Diese sind in WPF nicht so ohne weiteres einsatzbereit.
Mithilfe dieses Snippets, gehts jedoch.
void Button_Click(object sender, EventArgs e)
{
    // um ein Bild aus den Ressourcen in einem
    // Image Control darzustellen.
    imgWPF.Source =  FromDrawingImage(Resources.mypic);
}


private BitmapImage FromDrawingImage(System.Drawing.Image img)
        {
            using (MemoryStream ms = new MemoryStream())
            {
                img.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
                BitmapImage bImg = new System.Windows.Media.Imaging.BitmapImage();
                bImg.BeginInit();
                bImg.StreamSource = new MemoryStream(ms.ToArray());
                bImg.EndInit();
                return bImg;
            }
        }
Abgelegt unter Bitmap, WPF, Bilder, Bild, Ressourcen, Ressource, resx.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!