如何制作/获取多种尺寸的ico文件?

185

我想要一个包含多个图标图片尺寸的.ico文件,以便在跨平台桌面应用程序中使用(例如,在Windows上,16x16大小用于应用程序的顶部栏,但使用32x32大小版本时,在使用Alt-Tab时显示各种打开的应用)。

一旦我有了那个.ico文件,我知道如何在我的小部件工具包中使用它来实现这种效果,但我不知道如何制作它。


4
这个链接是最简单的 - 我很惊讶有多少ICO生成器只是缩小了一个较大的图像。那样做就失去了整个目的!这个很有效 - 但如果使用Chrome,你需要启用Flash。 - Simon_Weaver
使用 ImageMagick 命令行工具 - jcubic
这是一个非常好的资源,可以帮助理解各种ICO尺寸所需的要求:https://www.creativefreedom.co.uk/icon-designers-blog/windows-7-icon-sizes/ - icc97
参见:https://dev59.com/Z3A75IYBdhLWcg3wo6vx - icc97
1
如果您有图像并且只想创建ICO文件,可以将它们拖放到Penteract Icon File Creator中。它不是免费的,但它有一个免费试用版。仅适用于Windows 10(Windows Store)。 - 123
显示剩余4条评论
8个回答

150

可以使用GIMP免费完成此操作。

GIMP具有每个图层可以具有不同大小的功能。

我创建了以下正确尺寸的图层:

  • 256x256将保存为32bpp 8bit alpha
  • 48x48将保存为32bpp 8bit alpha
  • 48x48将保存为8bpp 1bit alpha
  • 32x32将保存为32bpp 8bit alpha
  • 32x32将保存为8bpp 1bit alpha
  • 32x32将保存为4bpp 1bit alpha
  • 16x16将保存为32bpp 8bit alpha
  • 16x16将保存为8bpp 1bit alpha
  • 16x16将保存为4bpp 1bit alpha

注意事项

  • 您可能需要查看其他资源以确认这是一个合理的分辨率和颜色深度列表。
  • 请确保在图像外围使用透明度和抗锯齿边缘。您应该看到灰色棋盘效果,以指示它们是透明的图层
  • 16x16图标需要使用1像素宽的画笔和吸管工具手动进行大量编辑以使其看起来好看。
  • 不要在GIMP中更改颜色深度/模式。将其保留为RGB
  • 在保存为.ico时,您可以更改颜色深度。GIMP会弹出一个特殊的对话框,用于更改每个图层的颜色设置

1
IcoFX程序更易于使用。我只用了5分钟就创建了3个新图标,每个图标分别具有16x16、32x32和48x48的分辨率。 - dodgy_coder
8
我已经拥有了所有由艺术家为mac制作的图片。我只需在Gimp中打开其中一张图片,然后在其他图片上选择“作为图层打开”即可。所有图层将自动以正确的大小创建,导出为ico格式,完成! - Nicolas Mommaerts
1
有没有一种批处理的方式来完成这个操作?在使用GIMP时,我总是需要将我的多层图像保存为png,然后再次打开它并创建多个图层。这需要很长时间。 - Tomáš Zato
11
有一个名为iconify2的不错的GIMP插件可以实现这个功能。请参见http://registry.gimp.org/node/27989。 - Chris Morlier
1
使用GIMP非常顺利,好建议!请注意,如果图标是SVG格式,则可以避免16x16大小的麻烦。 - gbavba
显示剩余3条评论

120

ImageMagick是一款免费开源的图像处理工具包,可以轻松实现此功能:

注意:自ImageMagick 7版本开始,CLI略有改变,您需要在任何命令前添加magick

magick convert icon-16.png icon-32.png icon-64.png icon-128.png icon.ico

另请参考http://www.imagemagick.org/Usage/thumbnails/#favicon,该网站提供了示例:

magick convert image.png -bordercolor white -border 0 \
          \( -clone 0 -resize 16x16 \) \
          \( -clone 0 -resize 32x32 \) \
          \( -clone 0 -resize 48x48 \) \
          \( -clone 0 -resize 64x64 \) \
          -delete 0 -alpha off -colors 256 favicon.ico

现在也有更短的形式:

magick convert image.png -define icon:auto-resize="256,128,96,64,48,32,16" favicon.ico

7
请注意,这个命令会删除alpha通道并将其替换为白色。 - Abe Voelker
4
如果你去掉“alpha off”这个参数,它就不会这样了。我也没有加上“-bordercolor white -border 0”这两个参数。而且由于我的源PNG文件已经是64x64的大小了,所以克隆的最后一部分没有进行重新调整大小的操作。 - Csaba Toth
4
我喜欢使用命令行解决方案,但要记住,自动调整大小的16x16图标可能看起来很模糊。这么小的图标真应该逐像素手工绘制。如果是这种情况,我发布的GIMP解决方案可能更好。这取决于你的优先事项。 - Greg Woods
4
请注意,是的,由于缩放问题(以及 alpha 透明度等问题),imagemagick 的示例并不理想,但它提供了一个简单的命令行程序所能实现的漂亮示例。第一个示例假设您已经创建了一组(可能是手绘的)图标,并在每个大小上进行了调整,将在非常简单的命令中为您提供最佳结果。 - dlm
1
你也可以通过各种在线工具将多个PNG文件合并成ICO文件。 - KyleMit
显示剩余4条评论

43

优秀的(免费试用)IcoFX 可以帮助您创建和编辑图标,包括多种尺寸,最高可达256x256像素,支持PNG压缩和透明度。相比其他大部分选择,我强烈推荐使用它。

请在此处获取软件副本:http://icofx.ro/,它支持从Windows XP开始使用。


Windows会根据图标在何处显示而自动选择正确的文件中的图标。 有关图标设计及应该包括哪些尺寸/位深度的更多信息,请参阅以下参考资料:


9
关于这篇文章的更新:IcoFX现在不再是免费软件,但可以进行15次试用。请不要因为写作时该软件是免费的而给此文投反对票。 - PaulSkinner
1
IcoFX对我来说很好用。我刚刚下载了它,现在的限制是,在30天后保存功能将被禁用。 - dodgy_coder
6
在回答这个问题时,它曾经是免费的。然而,现在开发者已经改变了这一点。我仍在使用旧版本(1.6.4),它是免费的。我认为那些增强功能不值得购买。你可以通过谷歌搜索找到下载链接。 - Cody Gray
7
这合法吗?最新免费软件版本:http://www.321download.com/LastFreeware/page40.html#IcoFX - user359135
1
经过尝试使用GIMP和ImageMagick将透明的PNG文件转换为透明的ICO文件后,icofx能够给出更好的图像质量,特别是在32x32和16x16像素的透明图标中。这些图标是最常见的,因为它们出现在任务栏和左上角的应用程序图标中。 - icc97
显示剩余3条评论

13

我的做法是准备一个512x512的PNG图片,Alpha通道适用于圆角或者阴影效果,然后我上传到这个网站http://convertico.com/,免费转换成包含256x256、128x128、64x64、48x48、32x32和16x16这6种尺寸大小的.ico文件。


1
最简单的解决方案。谢谢。 - Pawan Pillai
我尝试了你建议的网站。它返回了一个只有一个尺寸的ICO文件。 - Megidd

13
'

'@icon sushi'是一个可移植的实用程序,可以免费创建多个图标ico文件。

将不同尺寸的图标拖放到工具中,选择它们并选择“文件”->“创建多个图标”。

您可以从http://www.towofu.net/soft/e-aicon.php下载此工具。

'

2
这是比我预期更好的软件;它甚至可以让你直接编辑 alpha 通道或透明度掩码(尽管其用户界面有些奇怪)。 - Chel

2

Visual Studio资源编辑器(免费,作为VS 2013社区版的一部分)可以导入PNG(以及其他格式)并导出ICO。


1
我发现了一个名为ICOBundle的Mac OSX应用程序,它允许您轻松地将不同大小的ico文件选择拖放到ICOBundle.app中,提示您选择目标文件夹和文件名,然后创建多重图标.ico文件。 现在,如果能够将动画gif版本混合到一个文件中,那就可以形成完整的图标集了。但遗憾的是这不可能,需要单独的文件和代码片段。

-15

2018年最新答案:

步骤1 启动Microsoft Paint。不是Paint.Net,而是普通的Paint。

步骤2 通过单击“Paint”工具栏选项卡并选择“打开”,打开要转换为图标格式的图像。

步骤3 单击“Paint”选项卡,突出显示“另存为”选项,并选择“BMP图片”选项。作为256色。有一个下拉列表。

步骤4 现在您必须在Paint.net中打开它。 为图标输入文件名,并将“.ico”(不带引号)作为文件扩展名。选择首选的图标输出文件夹,然后单击“保存”。 (仍然是bmp类型),在保存参数窗口中暴露自动定义。

这是一个解决方案,适用于那些不想让第三方应用程序获得权限的人。
我使用这种简单的方法在我的桌面或文档上创建自定义文件夹图标。


2
也许这可以为您提供一个简单的单尺寸ICO文件,但这不会给您所请求的“多尺寸”ICO文件(一个单一的ico文件,其中包含相同图标的多个不同分辨率版本)。 - Max
@Max 是的,你是正确的。 - CodeToLife

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接