我有一个灰度 PNG,当尝试使用 ImageMagick(版本 7.1.1-28)创建ICO 文件时,它总是给出以下警告:
$ convert favicon.png -define icon:auto-resize=16,32,48,64,256 favicon.ico
convert: Cannot write image with defined png:bit-depth or png:color-type. `' @ warning/png.c/MagickPNGWarningHandler/1526.
我认为这可能是我原始 PNG 的颜色配置文件,所以我尝试使用 ImageMagick 将图像(也许我的假设在这里不正确?)首先强制为 RGB 颜色空间,然后从该中间文件制作 ICO 文件,但得到了确切的结果同样的错误。
$ convert favicon.png +profile "*" -colorspace RGB ico-temp.png
$ convert ico-temp.png -define icon:auto-resize=16,32,48,64,256 favicon.ico
convert: Cannot write image with defined png:bit-depth or png:color-type. `' @ warning/png.c/MagickPNGWarningHandler/1526.
我在这里做错了什么?我可以添加任何标志来完成这项工作吗?
对于任何想要尝试复制的人,我发现任何灰度 SVG 或 PNG 转换为 ICO 文件都会出现此错误。这是我为重现此内容而制作的 SVG 示例(如果您使用此源将其转换为 PNG,也可以使用):
<svg xmlns="http://www.w3.org/2000/svg"
width="100mm"
height="100mm"
viewBox="0 0 100 100">
<circle cx="25" cy="75" r="20" style="fill:#ccc"/>
<circle cx="65" cy="35" r="30" style="fill:#4d4d4d"/>
</svg>
它认为要使用的解决方案
-compress none
如下所述;在 macOS 上安装的 ImageMagick 7.1.1-28 中进行了测试:当我将你的示例
favicon.svg
转换为时favicon.png
,它干净地创建了一个favicon.ico
没有问题的。其他尝试如下。
这个答案中建议的怎么样:
-define profile:skip=ICC
或者也许按照此处的建议使用建议-background transparent
:或者没有
-background transparent
: