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

时间:2011-12-05 05:46:42

标签: c# icons png

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

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

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

谢谢。

3 个答案:

答案 0 :(得分:34)

可能有点晚了,但这里有一些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);
}

答案 1 :(得分:4)

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

convert image.png image.ico

就这么简单,几乎可以使用你抛出的每种格式。

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

答案 2 :(得分:4)

你可以使用可以将png转换为ico的ImageMagick库,你可以在这里找到imageMagick for .NET:http://imagemagick.codeplex.com/

如果您需要一个程序来执行此操作,您可以在批处理模式下尝试使用IrFanView ...