Estoy creando una aplicación WPF, así que estoy trabajando principalmente con la clase ImageSource para iconos. Sin embargo, el icono de la bandeja del sistema debe ser del tipo System.Drawing.Icon
. ¿Es posible crear dicho objeto desde una imagen png?¿Cómo obtengo un ícono de una imagen png?
he intentado lo siguiente:
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;
}
}
El constructor del icono lanza una excepción con el siguiente mensaje: " 'imagen' argumento debe ser una imagen que se puede utilizar como un icono".
Pensé que podría ser algo con la profundidad de bits del color de la imagen ya que tuve algunos problemas con esto antes, pero las imágenes de 32 bits y de 24 bits no funcionaron. ¿Es posible lo que intento hacer?
Solo obtengo 16 iconos de color cuando uso este método –