前言
应用程序通常需要一个桌面图标,Windows 下是 ico 格式,macOS 是 icns 格式。
ICO 图标格式是一种通常包含不同分辨率(16×16,32×32,64×64 像素)和各种颜色深度(16 种颜色,32,64,128,256,16 位等)的小图像图标的文件格式。
可以将 ico 图标格式理解为一个容器,里面可以是包含一张分辨率的图,也可以是包含多张分辨率的图。
大部分 png 转 ico 格式的在线工具只支持包含一种分辨率尺寸,会导致在不同电脑或不同 Windows 系统版本桌面图标显示模糊的情况。所以,这里使用 ImageMagick 命令行工具,实现一条命令完成多尺寸 png 图转换为 ico 格式。
ImageMagick 安装
ImageMagic 是跨平台工具,支持不同系统,所以可参考官网( https://imagemagick.org/script/download.php )选择自己喜欢的方式进行下载安装。
这里以 macOS 系统为例:
|
|
Windows 也可使用 WinGet 安装:
|
|
png 转 ico
预先准备256、128、64、48、32、24、16分辨率,PNG格式的logo图。
将多尺寸 png 图标放在 logo 文件夹下:
|
|
然后在 logo 目录下,打开终端,输入命令:
|
|
即可得到一张含有多尺寸的 ico 图。
Windows 平台( Windows convert
命令是系统命令,所以需要使用 magick convert
命令):
|
|
注意:
如果执行中报错信息为:
|
|
这通常意味着你的图片尺寸超出了 ICO 文件格式所支持的最大尺寸限制。ICO 文件格式对图像的尺寸有特定的限制。对于标准的 ICO 文件,单个图像的最大尺寸通常是 256 x 256 像素。所以 512 x 512 像素尺寸的图片需要移除。
得到的 ico 图标如下:
可以看到左侧列表有很多不同分辨率的图标。
[!note]
应至少具有以下像素:16x16、24x24、32x32、48x48 和 256x256。 这涵盖了最常见的图标大小,通过提供 256px 图标,可确保 Windows 只会纵向缩减图标,从不会纵向缩放。
https://blog.walterlv.com/post/convert-to-ico-icon-using-image-magick