编辑:我设法使用这个 ffmpeg 命令让它正确缩放:
-vf "thumbnail,scale='if(gt(iw,ih),256,trunc(oh*a/2)*2)':'if(gt(iw,ih),trunc(ow/a/2)*2,256)'"
这样做可以,但在肖像图像上,底部会出现一条带有图案的白色条纹。这是我所得到的最接近正常工作的结果。
原始帖子:
这适用于 419 宽 x 313 高 gif 文件:
ffmpeg -i "my.gif" -vf scale=256:-1 "my.ico"
生成的 ico 文件为 256 宽 x 191 高。这在大多数情况下也适用于大多数其他图像(所有不同的文件类型和尺寸)
但是,上述命令对我尝试过的 1587 宽 x 907 高 tiff 文件不起作用:
ffmpeg -i "my.tiff" -vf scale=256:-1 "my.ico"
生成的 ico 文件是损坏的/损毁的文件,大小为 4 个字节。
我尝试使用 230 x 245 png 文件执行上述命令,就像 tiff 文件一样,它也显示为一个损坏/损坏的文件,大小为 4 个字节。
我不想改变纵横比,但如果我这么做了,并改变这一部分:
scale=256:-1
对此:
scale=256:256
然后我上面提到的 png 文件确实可以正常输出,但是 tiff 文件仍然不能。
我想知道是否存在一个在所有情况下都有效的命令,无论结果如何,都保持图像宽度为 256 以保持纵横比。
这只是一个简单的打字错误还是什么?
大家干杯!