如何把.ICO转换成.PNG?

我可以使用什么工具将.ICO文件转换为.PNG文件?

免费: @icon寿司非常适合与图标工作:

特征

  • 寿司图标可以将图像文件转换为图标文件,反之亦然。
  • 支持Windows Vista大图标。 (用PNG压缩转换大图)
  • 支持Windows XP 32位图标。
  • 支持包含文件中的一些图标的多个图标。
  • 编辑Alpha通道和透明度蒙版。
  • 打开1×1到256×256尺寸的图像。
  • 打开1/4/8/24/32位彩色图像。
  • 打开:ICO / BMP / PNG / PSD / EXE / DLL / ICL,转换为:ICO / BMP / PNG / ICL
  • 复制到/从剪贴板粘贴。

谷歌有一个ico到PNG转换器,我有一天在reddit上看到它。

http://www.google.com/s2/favicons?domain=stackoverflow.com

ImageMagick可以将几乎任何广泛使用的图像格式转换为另一种格式。

http://www.imagemagick.org/script/index.php

详见http://www.imagemagick.org/script/convert.php

有大多数stream行语言的ImageMagick bindigs。

我在C#中这样做是很好的

 #region Usings using System; using System.IO; using System.Linq; // Next namespace requires a reference to PresentationCore using System.Windows.Media.Imaging; #endregion namespace Imagetool { internal class Program { private static void Main(string[] args) { new Ico2Png().Run(@"C:\Icons\", @"C:\Icons\out\"); } } public class Ico2Png { public void Run(string inPath, string outPath) { if (!Directory.Exists(inPath)) { throw new Exception("In Path does not exist"); } if (!Directory.Exists(outPath)) { Directory.CreateDirectory(outPath); } var files = Directory.GetFiles(inPath, "*.ico"); foreach (var filepath in files.Take(10)) { Stream iconStream = new FileStream(filepath, FileMode.Open); var decoder = new IconBitmapDecoder( iconStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.None); var fileName = Path.GetFileName(filepath); // loop through images inside the file foreach (var frame in decoder.Frames) { // save file as PNG BitmapEncoder encoder = new PngBitmapEncoder(); encoder.Frames.Add(frame); var size = frame.PixelHeight; // haven't tested the next lines - include them for bitdepth // See RenniePet's answer for details // var depth = frame.Thumbnail.Format.BitsPerPixel; // var path = outPath + fileName + size + depth +".png"; var path = outPath + fileName + size + ".png"; using (Stream saveStream = new FileStream(path, FileMode.Create)) { encoder.Save(saveStream); } } } } } } 

注意 :当这个问题被问到时,这是免费的,但显然这是一个付费应用程序。 Sean Kearon现在应该改变“正确答案”。

您可以使用IcoFX ($ 59)

它是图标创build,提取和编辑的一体化解决scheme。 它旨在与支持透明度的Windows XP,Windows Vista和Macintosh图标一起使用。

ConvertICO.com一直为我工作得很好。

没有IrFanView ,我不知道我会在哪里 。 神奇的批量转换图像,包括ico到PNG。

如果有人想用文件或url的内存中的Python成像库(PIL)进行转换

 from cStringIO import StringIO import Image import urllib def to_png(path, mime="png"): if path.startswith("http:"): url = urllib.quote(url) input = StringIO() input.write(urllib.urlopen(url).read()) input.seek(0) else: input = open(path).read() if input: out = StringIO() image = Image.open(input) image.save(out, mime.upper()) return out.getvalue() else: return None 

在mac上的terminal:

 convert favicon.ico favicon.png 

检查出http://iconverticons.com/ – iConvert允许您轻松地将Windows ico转换为Mac OS X icns,SVG到Windows图标,PNG ico到Mac OS X ico,JPG图像到Windows图标,等等。

一个快速的select是下载Paint.net并安装Icon / Cursor插件 。 然后,您可以使用Paint.net打开.ico文件,编辑它们,并将其保存为.png或其他格式。

对于批处理,我第二次的ImageMagick或IrFanView的build议。

这里有一些C#代码来做到这一点,很大程度上基于“彼得”这个线程的答案。 (如果你觉得这个答案有用,请对彼得的答案进行投票。)

  /// <summary> /// Method to extract all of the images in an ICO file as a set of PNG files. The extracted /// images are written to the same disk folder as the input file, with extended filenames /// indicating the size of the image (16x16, 32x32, etc.) and the bit depth of the original /// image (typically 32, but may be 8 or 4 for some images in old ICO files, or even in new /// ICO files that are intended to be usable in very old Windows systems). But note that the /// PNG files themselves always have bit depth 32 - the bit depth indication only refers to /// the source image that the PNG was created from. Note also that there seems to be a bug /// that makes images larger than 48 x 48 and with color depth less than 32 non-functional. /// /// This code is very much based on the answer by "Peter" on this thread: /// http://stackoverflow.com/questions/37590/how-to-convert-ico-to-png /// /// Plus information about how to get the color depth of the "frames" in the icon found here: /// http://social.msdn.microsoft.com/Forums/en-US/e46a9ad8-d65e-4aad-92c0-04d57d415065/a-bug-that-renders-iconbitmapdecoder-useless /// </summary> /// <param name="iconFileName">full path and filename of the ICO file</param> private static void ExtractImagesFromIconFile(string iconFileName) { try { using (Stream iconStream = new FileStream(iconFileName, FileMode.Open)) { IconBitmapDecoder bitmapDecoder = new IconBitmapDecoder(iconStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.None); foreach (BitmapFrame bitmapFrame in bitmapDecoder.Frames) { int iconSize = bitmapFrame.PixelHeight; int bitDepth = bitmapFrame.Thumbnail.Format.BitsPerPixel; string pngFileName = Path.GetDirectoryName(iconFileName) + Path.DirectorySeparatorChar + Path.GetFileNameWithoutExtension(iconFileName) + "-" + iconSize + "x" + iconSize + "-" + bitDepth + ".png"; using (Stream saveStream = new FileStream(pngFileName, FileMode.Create)) { BitmapEncoder bitmapEncoder = new PngBitmapEncoder(); bitmapEncoder.Frames.Add(bitmapFrame); bitmapEncoder.Save(saveStream); } } } } catch (Exception ex) { MessageBox.Show("Unable to extract PNGs from ICO file: " + ex.Message, "ExtractImagesFromIconFile", MessageBoxButtons.OK, MessageBoxIcon.Error); } } 

XnView是一个伟大的Windows / Mac / Linux(免费)( 下载页面 )graphics工具,它可以让你浏览图像,批量转换,变换,resize,旋转,截图等

它可以做你的XYZICO转换,其中XYZ几乎是任何太阳下的格式。

替代文字http://img443.imageshack.us/img443/672/convert.gif

http://www.gimp.org/

自由和强大的方式来使大分辨率.ico文件夹或更大的工作与win7的至less,我已经testing:)

只需保存并键入.ico

🙂

透明度很容易,加载一个新的图像,并select高级选项,背景色 – >透明度

Windows 7附带的Paint版本会将图标转换为PNG,JPEG等。

我刚刚遇到这个问题。 FYI打开画面中的.ico文件并保存为.png。 为我工作!

这可能是一个相当愚蠢的答案,但如果你只需要一个图标,你可以截取文件夹中的图标截图,并砍掉你想要的部分。 确保图标显示您想要的大小,当然有一个白色的背景。

如果您使用像SnagIt或WinSnap一样的截图应用程序,区域捕捉应该在几秒钟内处理它。

请注意,这不会给你透明度。

如果你不寻找编程的东西,那么只是“打印屏幕”和裁剪。

有一个在线转换工具可在http://www.html-kit.com/favicon/ 。 除了生成.ico它也会给你一个animation的.gif版本。

图标转换是另一个在线工具与resize的选项。

另一种select是IrfanView