如何将 .PNG 转换为 .ICO?

如何将 .PNG 转换为 .ICO?

VS2010 常用图标包中有一张图片仅包含 PNG 格式,我想将其用作 ICO(我希望 XP 及更早版本的用户能够看到该图标)。如何将 PNG 转换为 ICO?

答案1

对于一次性任务我通常只是作弊:ConvertICO.com

如果你经常这样做,你可能需要考虑免费 Photoshop 插件

答案2

开源图像魔法 convert实用程序可以将多幅图像打包成一个图标文件。它提供图像调整大小功能以生成多种尺寸的图标,并支持各种其他图像处理。Imagemagick 包含多个图像处理实用程序,是开源的,可免费使用,可在多个平台(Linux、Windows、Mac Os X、iOS)上使用,并且可以轻松批处理,例如在持续集成管道中。

在这种情况下,一种实用的方法是使用向量SVG图像格式作为输入,因为它可以生成多种尺寸的一致图像(如伊科文件内容)。

第一个选项是一行程序convert,自版本 v7.0.0+ 开始允许使用:

convert logo.svg -define icon:auto-resize=256,128,48,32,16 icon.ico

第二种方法是分步方法,png在临时文件夹中生成各种文件。此方法适用于所有版本,包括旧版本:

convert icon.svg -scale 16 tmp/16.png
convert icon.svg -scale 32 tmp/32.png
convert icon.svg -scale 48 tmp/48.png
convert icon.svg -scale 128 tmp/128.png
convert icon.svg -scale 256 tmp/256.png

之后,可以使用以下命令将多个png文件打包到最终文件中icon.ico

convert tmp/16.png tmp/32.png tmp/48.png tmp/128.png tmp/256.png  icon.ico

最后需要注意的是:独立convert二进制文件不再默认安装。在 Windows 上,您必须检查(非常明确)安装旧版实用程序(例如转换)选项。如果您错过了,只需使用稍长的magick convert命令,而不是独立convert命令。

答案3

要将 PNG 文件转换为 ICO 文件,您可以使用 ffmpeg 运行此命令(将 img 替换为输入和输出文件的名称):

ffmpeg -i img.png img.ico

然而,大多数机器上并没有预装 ffmpeg,必须手动安装。

在 Windows 上安装 ffmpeg

您可以在此处按照下载安装:https://ffmpeg.org/download.html

一个更简单的替代方案是:

  1. 打开 Microsoft Store
  2. 安装“应用安装程序”
  3. 打开命令提示符
  4. 运行命令winget install ffmpeg
  5. 重新启动 shell,你就会有 ffmpeg

或者,你可以使用包管理器 Chocolatey:

  1. 安装 Chocolatey:https://chocolatey.org/install
  2. 使用管理员权限打开命令提示符
  3. 运行命令choco install ffmpeg -y

在 Linux 上安装 ffmpeg

运行命令sudo apt update && sudo apt install ffmpeg

在 MacOS 上安装 ffmpeg

运行命令brew install ffmpeg

答案4

是的,你可以使用网站,正如一些人在回答中推荐的那样,但如果你学会了如何正确操作,你很可能可以在浏览网站、上传文件、排队等待并再次下载的相同时间内自己完成操作。使用网站的缺点是你通常无法控制图标中各个尺寸的尺寸或图像质量。

以下是手动操作方法。您可以使用 GIMP,它是 Photoshop 的开源替代品,可从项目网站下载。无需其他插件。获取要转换的 PNG。其大小至少应为 128 像素,但 256 像素以上会更好。

在 Gimp 中打开上述 png。您将制作一张包含多个图层的图像。完成后,每个图层在完成的图标中的大小都会有所不同。这是我通常使用的图层布局256px(可选)、128px、96px、64px、48px、40px、32px 和 24px。您希望拥有这种尺寸的多样性,因为您需要考虑用户在资源管理器中浏览时将进行的所有不同缩放。 256 有点过分,但为什么不让您的图标经得起未来的考验呢?

步骤 1:将 png 导入 gimp。我通常通过在 Windows 中使用“打开方式”打开 png 并选择 gimp 来执行此操作。之后,Gimp 将完成其余操作。确保它是当前唯一的图层(如果 gimp 制作了任何背景图层,请删除任何背景图层)。

步骤 2:单击图像菜单并选择缩放图像。如果您要使用的图像不是正方形,则必须在缩放之前对其进行裁剪,否则看起来会很奇怪。您可以使用矩形选择工具进行裁剪(确保在选择时按住 shift 进行正方形选择)。选择完成后,单击图像菜单并选择裁剪至选定内容

步骤 3:选择菜单并选择复制图层。 点击再次菜单并选择尺度层并将复制的图层调整为新的大小,如 128 或 96 等。

步骤 4:冲洗并重复,直到您将图层设置为 24px。

步骤 5:通过单击将当前绘图导出为图标文件菜单并选择导出为。当您收到对话框提示时,您要确保输入了正确的扩展名 (.Ico),然后 gimp 将处理其余部分。

相关内容