如何将 .PNG 转换为 .ICO?

Bil*_*eal 64 png image-conversion

VS2010 股票图标包中有一个图像,它仅包含为 PNG,我想将其用作 ICO(我希望 XP 和更早的用户看到该图标)。如何将 PNG 转换为 ICO?

Uri*_*iel 45

您可以使用开源的imagemagick convert实用程序将多个图像打包到一个图标文件中。它还可以为您管理重新调整大小以及各种其他图像处理。Imagemagick 包含多个图像处理实用程序,是开源的、免费使用的,可在多个平台(Linux、Windows、Mac Os X、iOS)上使用,并且可以轻松地进行批处理,例如在持续集成管道中。

这是一个将svg文件(矢量svg格式是生成多种尺寸的一致图像,如图标)的不错选择导出到文件的基本示例png

convert icon.svg -scale 32 tmp/32.png
Run Code Online (Sandbox Code Playgroud)

要将几个这样的png文件打包成一个最终ico文件,请使用:

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

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


Joh*_*n T 28

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

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


Hem*_*nta 24

从以下位置安装 ffmpeg:Windows:http : //ffmpeg.zeranoe.com/builds/ OSX:http : //ffmpegmac.net/

在 shell 中,使用以下命令将 PNG 转换为 ICO。

ffmpeg -i img.png img.ico
Run Code Online (Sandbox Code Playgroud)

此外,如果您经常使用 ffmpeg,请不要忘记将其添加到您的 PATH 变量中。

  • 请提供您的答案的上下文。`ffmpeg` 是否随 Windows 提供?如果没有,如何安装?就目前而言,您的答案(尽管在技术上是准确的)质量不够高。 (2认同)
  • 谢谢,为我工作将 `png` 转换为 `ico`。你也可以像这样设置比例:`ffmpeg -i img.png -vf scale=32:32 img.ico` (2认同)

M. *_*ley 12

还有Paint.NET ICO 插件(插件现已更新为 v4.0+)。

下载 IcoCur.Zip。解压 dll 并将其放在 Paint.NET 目录中的“FileTypes”文件夹中。

它将加载和保存 .ico、.cur 和 .ani 文件(.ani 截至 2006 年 7 月 29 日)。

从包含多个图像的图标或光标文件加载时,系统会提示您并允许您选择要加载的图像。当图标文件中有 3 个左右的图像时,它总是让我烦恼,而其他图像编辑器只会自动加载低分辨率 8x8 或类似的图像,因此我添加了该功能以供选择。

  • Paint.NET ico 插件已更新为支持 v4+ http://forums.getpaint.net/index.php?/topic/927-icon-cursor-and-animated-cursor-format-v37-may-2010/&do =findComment&comment=514467 (2认同)

the*_*les 8

是的,您可以像某些人在他们的答案中推荐的那样使用网站,但是如果您学会了如何正确使用,您可能可以在与浏览网站、上传文件、等待排队并重新下载。使用网站的缺点是您通常无法控制图标内各个尺寸的尺寸或图像质量。

以下是您如何手动执行此操作。您可以使用 GIMP,它是 Photoshop 的开源替代品,可以从项目网站下载。不需要额外的插件。获取要转换的 PNG。它的大小应该至少为 128 像素,但 256+ 会更好。

在 Gimp 中打开上述 png。您将制作一个具有多个图层的图像。完成后,每个图层在完成的图标中将具有不同的大小。这是我通常使用的图层布局256px(可选)、128px、96px、64px、48px、40px、32px 和 24px。您希望拥有这种尺寸的多样性,因为您需要考虑用户在浏览器中浏览时将拥有的所有不同缩放比例。256 是矫枉过正,但为什么不让您的图标面向未来?

第一步:将png导入gimp。我通常通过在 png 上的窗口中使用打开方式并选择 gimp 来做到这一点。之后 Gimp 将完成剩下的工作。确保它是目前唯一的层(如果有 gimp 则删除任何背景层)。

第 2 步:通过单击“图像”菜单并选择“缩放图像”,图片大小调整为 256x256(如果您不想使用 256,则为 128x128)。如果您使用的图像不是方形的,则必须在进行缩放之前对其进行裁剪,否则它看起来会很奇怪。您可以使用矩形选择工具进行裁剪(确保在选择时按 shift 进行方形选择)。完成选择后,单击Image菜单并选择Crop to Selection

第 3 步:通过选择“图层”菜单并选择“复制图层”复制当前图层。再次单击“图层”菜单并选择“缩放图层”并将复制图层的大小调整为新大小,例如 128 或 96 等。

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

第 5 步:通过单击“文件”菜单并选择“导出为”,将当前图形导出为图标。当您收到对话框提示时,您要确保输入正确的扩展名 (.Ico),gimp 将处理其余的工作。


小智 7

如果您使用的是 OSX。实际上,您可以使用内置的预览应用程序将文件保存为相当广泛的文件类型。

\n\n

File\xe2\x86\x92 Export...\xe2\x86\x92 按住\xe2\x8c\xa5(alt/opt)并单击文件Format列表框

\n\n

TA-DA

\n