我创建了一个WPF应用程序,所以我主要使用图标的ImageSource类。但是,系统托盘图标必须为System.Drawing.Icon
。是否可以从PNG图像创建这样的对象?如何从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;
}
}
图标构造函数抛出具有以下消息的异常:“论证‘图像’必须是可以被用作图标的图片。”
我想它可能是图像颜色的位深度的东西,因为我之前有过一些问题,但32位和24位图像都不起作用。我想要做什么?
当我使用这种方法时,我只能得到16个颜色图标 – 2009-11-04 13:06:08