Hi!
I need to save Bitmap object loaded from image file (.png, .jpeg, .bmp) and save it as an icon (.ico) to a separate file.
First I tried saving Bitmap object to a file with Icon ImageFormat:
using System.Drawing;
Bitmap bmp = (Bitmap)pictureBox1.Image;
bmp.Save(@"C:\icon.ico", Imaging.ImageFormat.Icon);
This one fails, as the icon produced is not in a proper format and it cannot be used as an icon.
Next one was to get HIcon from Bitmap and save it to a file:
using System.Drawing;
using System.IO;
StreamWriter iconWriter = new StreamWriter(@"C:\icon.ico");
Icon ico = Icon.FromHandle(((Bitmap)pictureBox1.Image).GetHicon())
ico.Save(iconWriter.BaseStream);
iconWriter.Close();
iconWriter.Dispose();
This one does not do the job too. Although icon file is properly written, it has only 16 colors and a limited width and height.
I'd like to be able to write icons with custom width and height that would preserve colors from the original image. Is this possible to achive in .NET?
Thanks in advance.