使用 ImageMagick 将图像大小调整为以下几种形式之一

使用 ImageMagick 将图像大小调整为以下几种形式之一

我有一组图像,我使用 Bash 脚本中的 ImageMagick 来处理它们。它会循环遍历文件夹中的图像。大多数图像都是 3:2 格式,但有些是 4:3、2:1 和 1:1。但是,它们并非都完美地裁剪成它们的纵横比,从而导致布局问题。如果我有一张 3.01:2 的图像,我希望将其强制转换为 3:2。

目前我使用下面的调整大小命令。以前我使用缩放和裁剪来强制填充 3:2,但这会错误地裁剪其他纵横比的图像。

convert -resize 300x200

我想强制将图片设置为与列表尺寸最接近的尺寸,然后调整大小并裁剪以适合。我可以定义像素大小或(最好)宽高比。

我在 bash 脚本中拼凑了这些,这让我可以测试一些 if 检查数组。请注意,$filename 来自其他地方:

aspect=$(ffmpeg -i "_originals/$filename"*.jpg 2>&1 | egrep -o "DAR ([0-9]+:[0-9]+)" | cut -f2 -d " " | sed 's/:/ /')
ratio=$(echo $aspect |awk '{printf "%.2f", $1/$2}')
printf "$ratio\n"

相关内容