我需要将从图像文件(.png, .jpeg, .bmp)加载的位图对象保存为图标(.ico)到另一个文件中。
首先,我尝试使用Icon ImageFormat将位图对象保存到文件中:
using System.Drawing;
Bitmap bmp = (Bitmap)pictureBox1.Image;
bmp.Save(@"C:\icon.ico", Imaging.ImageFormat.Icon);
这个失败了,因为生成的图标格式不正确,不能用作图标。
下一个是从位图获取HIcon并将其保存到文件中:
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();
这个也不能胜任。尽管图标文件写得很好,它只有16种颜色以及有限的宽度和高度。
我希望能够编写具有自定义宽度和高度的图标,并保留原始图像的颜色。这在.NET中可行吗?
提前致谢。