Я создаю приложение 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-битные изображения не работали. Возможно ли то, что я пытаюсь сделать?