Wie bekomme ich ein Icon von einem PNG-Bild?

Ich erstelle eine WPF-App, daher arbeite ich hauptsächlich mit der ImageSource-Klasse für Symbole. Das Symbol in der Taskleiste muss jedoch vom Typ @ seiSystem.Drawing.Icon. Ist es möglich, ein solches Objekt aus einem PNG-Bild zu erstellen?

Ich habe Folgendes versucht:

private static System.Drawing.Icon _pngIcon;
public static System.Drawing.Icon PngIcon
{
    get
    {
        if (_pngIcon == null)
        {  
            //16x16 png image (24 bit or 32bit color)
            System.Drawing.Bitmap icon = global::BookyPresentation.Properties.Resources.star16;
            MemoryStream iconStream = new MemoryStream();
            icon.Save(iconStream, System.Drawing.Imaging.ImageFormat.Png);
            iconStream.Seek(0, SeekOrigin.Begin);
            _pngIcon = new System.Drawing.Icon(iconStream); //Throws exception
        }
        return _pngIcon;
    }
}

Der Icon-Konstruktor löst eine Ausnahme mit der folgenden Meldung aus: "Argument 'picture' muss ein Bild sein, das als Icon verwendet werden kann."

Ich dachte, es könnte etwas mit der Bittiefe der Bildfarbe zu tun haben, da ich zuvor einige Probleme damit hatte, aber sowohl 32-Bit- als auch 24-Bit-Bilder funktionierten nicht. Ist es möglich, was ich versuche zu tun?

Antworten auf die Frage(14)

Ihre Antwort auf die Frage