如何使用ImageMagick从Windows ICO中提取16x16px尺寸图标?
提取ICO文件中16px尺寸图标的ImageMagick命令
直接通过指定尺寸而非固定索引的方式,就能精准提取ICO中已存在的16px图标,不用管它在文件里的位置:
方法一:直接在ICO路径后指定尺寸
magick convert "ICO:myicon.ico[16x16]" -set filename:f "%t_16px" %[filename:f].png
如果同一个16x16尺寸下有不同色深的版本(比如8位、32位),这个命令会提取第一个匹配的图标;要是想指定色深,可以写成[16x16x32]这类格式。
方法二:使用-define参数指定提取尺寸
magick convert -define icon:extract=16x16 "myicon.ico" -set filename:f "%t_16px" %[filename:f].png
这种方式更直观,明确告诉ImageMagick要提取16x16的图标。
你之前的命令问题出在固定用[0]索引——ICO文件的图标排序没有统一规则,很多文件会把大尺寸图标放在前面,所以才会提取到48x48的版本。上面两种方法都能避开这个问题,只要目标尺寸存在就能提取成功。
内容的提问来源于stack exchange,提问作者fmotion1
相关产品推荐
相关产品推荐

