如何在 .ico 文件中嵌入多种尺寸?

Suc*_*ipi 27 windows icons command-line

我见过 .ico 图标具有多种尺寸的不同图像,例如。16x16、32x32、48x48、128x128、256x256。在 Windows 上,如果我有每种尺寸的现有 .ico 文件,我如何以这种方式创建支持多种尺寸的图标文件?请注意,我希望对 200 多个文件执行此操作,因此从 cmd 执行此操作将是理想的选择。

Rob*_*b W 39

ImageMagick (Windows/Mac/Linux) 包含一个名为的命令行工具convert,可用于多种用途,包括在一个图标中打包多个图像:

convert 16.png 32.png 48.png 128.png 256.png -colors 256 icon.ico
Run Code Online (Sandbox Code Playgroud)

前面的命令需要 5 个 PNG 图像,并将它们组合成一个 .ico 文件。

与其他答案不同,此方法可以轻松地用于批处理脚本中以自动生成多个图标文件。在我的一个项目中,我有一个矢量图像 (SVG),并使用Inkscape生成各种大小的 png,然后convert创建一个图标容器。这是一个简化的示例(在 bash 脚本中):

convert 16.png 32.png 48.png 128.png 256.png -colors 256 icon.ico
Run Code Online (Sandbox Code Playgroud)

  • @Flimm `convert favicon.ico favicon.png` 为框架中的每个图标生成 `favicon-0.png`、`favicon-1.png` 等。如果您想知道图像的尺寸,请在 png 文件上使用 `identify` 命令。 (3认同)
  • 使用较新的 inkscape 版本: `inkscape --export-type=png --export-filename="$size.png" -w ${size} -h ${size} icon.svg` (2认同)

小智 19

更好的 ImageMagick 命令:

convert in.jpg -define icon:auto-resize=16,48,256 -compress zip out.ico
Run Code Online (Sandbox Code Playgroud)

  • 从 Inkscape 单独导出的位图 png 比本示例中使用的调整大小的初始 png 具有更好的清晰度。 (4认同)
  • 这实际上是一个很好的答案。使用此命令来测试文件是否确实已转换:`identify out.ico` (3认同)

tec*_*tle 9

您可以在GIMP 中免费执行此操作。有这样做的简要说明这里

报价:

  1. 在 Gimp 中打开您的图像
  2. 让你的画布方形
  3. 将图层大小调整为图像
  4. 将图层缩放到 .ico 文件中的最大尺寸,例如 64 像素
  5. 复制图层
  6. 将复制图层缩放到下一个大小
  7. 在 .ico 文件中继续复制/缩放您想要的所有大小
  8. 另存为 .ico

在您的情况下,您可以从最大的图像开始并缩小每个重复图像的比例,或者您可以添加新图层并将所需的特定图标图像导入该图层。