Как я могу получить значок из PNG-изображения?
Я создаю приложение WPF, поэтому я в основном работаю с классом ImageSource для иконок. Тем не менее, значок на панели задач должен быть типаSystem.Drawing.Icon
, Можно ли создать такой объект из PNG-изображения?
Я пробовал следующее:
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;
}
}
Конструктор Icon создает исключение со следующим сообщением: «Аргумент 'picture' должен быть изображением, которое можно использовать в качестве Icon".
Я подумал, что это может быть что-то с битовой глубиной цвета изображения, так как у меня были некоторые проблемы с этим ранее, но 32-битные и 24-битные изображения не работали. Возможно ли то, что я пытаюсь сделать?