Je crée une application WPF, donc je travaille principalement avec la classe ImageSource pour les icônes. Cependant, l'icône de la barre d'état système doit être de type System.Drawing.Icon
. Est-il possible de créer un tel objet à partir d'une image png?Comment obtenir une icône à partir d'une image png?
J'ai essayé ce qui suit:
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;
}
}
Le constructeur d'icône lance une exception avec le message suivant: « Argument « image » doit être une image qui peut être utilisé comme une icône. »
Je pensais que ce serait peut-être quelque chose avec la profondeur de bit de la couleur de l'image que j'ai eu quelques problèmes avec cela plus tôt, mais les deux images 32bit et 24bit ne fonctionne pas. Est-ce possible ce que j'essaie de faire?
Je reçois seulement 16 icônes de couleur quand j'utilise cette méthode –