将图像大小调整并裁剪为宽高比 6x4、宽度 1024 像素

将图像大小调整并裁剪为宽高比 6x4、宽度 1024 像素

我有一组混合图像,每个图像的分辨率略有不同,纵横比与其他图像略有不同。

我尝试过使用类似的命令

convert -resize

convert -crop

但似乎无法找出正确的命令来使所有图像的宽度为 1024,长宽比为 6x4,而不会导致图像拉伸或被压扁。

答案1

您希望所有照片都是 6x4、宽度为 1024,对吧?这意味着它们的高度应为 683 像素。

如果这是正确的,那么您正在寻找的是......

convert  <input_image>  -resize 1024x683^  -gravity center  -extent 1024x683  <output_image>

...你要替换的地方<输入图像>与要调整大小的图像的文件名,以及<输出图像>与新的文件名。

这将裁剪边缘以适应宽高比并将其大小调整为 1024x683。它会使小图像变大,也会使大图像变小以适合您的尺寸。

当您想要调整目录中所有图像的大小时,您需要编写一个快速的 bash 脚本,它看起来像......

#!/bin/bash

for f in ./*.[jJ][pP][gG]
do
    echo "$f"
    convert "$f" -resize 1024x683^ -gravity center -extent 1024x683 "print_$f"
done

然后您只需使脚本可执行即可。 (假设您将脚本保存为重命名.sh,运行chmod u+x rename.sh。)然后运行脚本./rename.sh,该脚本将调整同一目录中所有图像的大小。

相关内容