You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用ImageMagick创建所有尺寸内嵌PNG数据的ICO文件

问题

我在研究部分内部存储PNG数据而非传统ICO编码数据的ICO文件,希望制作出相同格式的文件,示例如下:

$ identify sample.ico 

sample.ico[0] PNG 32x32 32x32+0+0 8-bit sRGB 884B 0.000u 0:00.000
sample.ico[1] PNG 16x16 16x16+0+0 8-bit sRGB 884B 0.000u 0:00.000

$ file sample.ico
sample.ico: MS Windows icon resource - 2 icons, 
32x32, 16 colors withPNG image data, 32 x 32, 8-bit/color RGBA, non-interlaced, 4 bits/pixel, 
16x16, 16 colors withPNG image data, 16 x 16, 8-bit/color RGBA, non-interlaced, 4 bits/pixel

经过测试我发现可通过如下命令生成单张内嵌PNG数据的ICO文件:

$ convert icon-32x32.png png8:test1.ico
$ identify test1.ico

test1.ico PNG 32x32 32x32+0+0 8-bit sRGB 934B 0.000u 0:00.000

但如果传入多个输入文件,会拆分生成多个独立输出文件,无法合并为单个ICO:

$ convert icon-16x16.png icon-32x32.png png8:test2.ico
$ ls -1 test2*

test2-0.ico
test2-1.ico

如果输出路径不添加png8:前缀,所有图像数据都会被转换为传统ICO编码格式:

$ convert icon-16x16.png icon-32x32.png test3.ico
$ identify test3.ico 

test3.ico[0] ICO 16x16 16x16+0+0 32-bit sRGB 5.43KB 0.000u 0:00.000
test3.ico[1] ICO 32x32 32x32+0+0 32-bit sRGB 5.43KB 0.000u 0:00.000

当图像尺寸过大超出传统ICO格式支持范围时,对应尺寸的图像才会保留PNG编码:

$ convert ../icon-32x32.png ../icon-512x512.png test4.ico
$ identify test4.ico

test3.ico[0] ICO 32x32 32x32+0+0 32-bit sRGB 53.4KB 0.000u 0:00.000
test3.ico[1] PNG 512x512 512x512+0+0 8-bit sRGB 53.4KB 0.000u 0:00.000

解决方案

使用ImageMagick内置的ICO编码参数ico:png,将参数值设为1即可强制所有尺寸的图标条目以PNG编码内嵌到ICO文件中,命令格式如下:

# ImageMagick 6 版本
convert 尺寸1.png 尺寸2.png [其他尺寸PNG...] -define ico:png=1 输出文件.ico

# ImageMagick 7 版本,将convert替换为magick即可
magick 尺寸1.png 尺寸2.png [其他尺寸PNG...] -define ico:png=1 输出文件.ico

以打包16x16、32x32两个尺寸的PNG为例,执行如下命令即可生成全PNG内嵌的ICO:

convert icon-16x16.png icon-32x32.png -define ico:png=1 all-png.ico

生成后用identify all-png.ico校验,所有条目都会显示为PNG格式,和示例文件表现一致。

之前操作失效的原因

  • 加png8:前缀时,ImageMagick会将输出格式判定为PNG而非ICO,多图输入时会自动按帧拆分为多个独立文件,不会执行ICO封装逻辑,因此会生成带序号后缀的拆分文件。
  • 不加前缀默认走ICO编码逻辑时,默认规则仅对尺寸≥256x256的图标条目使用PNG编码,更小尺寸会转成传统ICO的BMP编码,因此小尺寸条目会显示为ICO格式。

内容的提问来源于stack exchange,提问作者Smorfph

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 06:57:21