Ich erstelle eine WPF-App, daher arbeite ich hauptsächlich mit der ImageSource-Klasse für Symbole. Das Taskleistensymbol muss jedoch vom Typ System.Drawing.Icon
sein. Ist es möglich, ein solches Objekt aus einem PNG-Bild zu erstellen?Wie bekomme ich ein Icon von einem PNG-Bild?
Ich habe versucht, die folgende:
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 eine Ausnahme mit der folgenden Meldung wirft: „Argument‚Bild‘muß ein Bild sein, das als Symbol verwendet werden kann“
Ich dachte, es könnte etwas mit der Bittiefe der Bildfarbe sein, da ich einige Probleme mit dieser früheren hatte, aber 32-Bit- und 24-Bit-Bilder haben nicht funktioniert. Ist es möglich, was ich versuche?
Ich bekomme nur 16 Farbsymbole, wenn ich diese Methode verwende –