在C / C中将.PNG转换为.ICO#

我想将.PNG文件转换为.ICO文件。 我想在本地做任何互联网依赖(所以我不能使用像converttoico.com等在线工具)。

我发现了一个名为png2ico的奇妙工具,但它有一个限制,它只能将大小为1X1的图像转换为256X256。 虽然目前我正在修改PNG分辨率(在C#中)并将其压缩到256X256,然后使用此工具将其转换为图标,但图像质量并不好。

有没有人知道任何本地图书馆这样做或任何可以帮助我的工具(免费或付费)?

谢谢。

可能有点晚了,但这里有一些c#解决方案:

using (FileStream stream = File.OpenWrite(@"C:\temp\test.ico")) { Bitmap bitmap = (Bitmap)Image.FromFile(@"c:\temp\test.png"); Icon.FromHandle(bitmap.GetHicon()).Save(stream); } 

ImageMagick是迄今为止最棒的CLI图像处理实用程序:

 convert image.png image.ico 

就这么简单,它几乎适用于你投入的每种格式。

此外,它还有许多不同语言的API(C#,如果我没记错的话)。