答案1
当 ImageMagickconvert
实用程序调整图像大小时,它会保留图像的纵横比,而不会超出您指定的大小限制。
如果您有一个 48x36 像素大的图像(或 480x360 或具有相同 4:3 宽高比的图像),并且您要求convert
将其大小调整为 336x336 像素,那么 336x252 是最大的图像,同时仍保留它的长宽比。
你可以力量 convert
'336x336!'
通过用作选项的选项参数来忽略图像的纵横比-resize
。
这在 ImageMagick 命令行文档的有关部分中进行了记录图像几何。
在您的循环中,您使用了printf
错误的方式。
改为这样做: printf 'Resizing %s\n' "$i"
printf
应该的第一个参数总是是静态格式模板,其余参数应该是用于填写模板的数据。
也可以看看:ShellCheck 问题代码 SC2059(“不要在 printf 格式字符串中使用变量”)。