Featured image of post 制作含有多尺寸的ico图标

制作含有多尺寸的ico图标

Windows ico格式桌面图标可以是包含一张分辨率的图,也可以是包含多张分辨率的图。如何制作含有多尺寸的ico文件

前言

应用程序通常需要一个桌面图标,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 系统为例:

1
brew install imagemagick

Windows 也可使用 WinGet 安装:

1
winget install ImageMagick

png 转 ico

预先准备256、128、64、48、32、24、16分辨率,PNG格式的logo图。

将多尺寸 png 图标放在 logo 文件夹下:

1
2
3
4
5
6
7
8
logo/
├── 256_256.png
├── 128_128.png
├── 64_64.png
├── 48_48.png
├── 32_32.png
├── 24_24.png
├── 16_16.png

然后在 logo 目录下,打开终端,输入命令:

1
convert 256_256.png 128_128.png 64_64.png 48_48.png 32_32.png 24_24.png 16_16.png icon.ico

即可得到一张含有多尺寸的 ico 图。

Windows 平台( Windows convert 命令是系统命令,所以需要使用 magick convert 命令):

1
magick convert 256_256.png 128_128.png 64_64.png 48_48.png 32_32.png 24_24.png 16_16.png icon.ico

注意

如果执行中报错信息为:

1
convert: width or height exceeds limit `icon.ico' @ error/icon.c/WriteICONImage/1008.

这通常意味着你的图片尺寸超出了 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

构造 Windows 应用的图标 - Windows apps | Microsoft Learn

Licensed under CC BY-NC-SA 4.0
最后更新于 Jun 30, 2024 22:15 +0800