如何在 Linux 中裁剪图像

如何在 Linux 中裁剪图像

好的,我知道转换工具,我想知道它是否可以用来仅删除图像底部的 50 个像素,而使图像的其余部分保持完整。

可以批量做吗?

假设我有 20 张不同尺寸的图像,并且只想删除底部的 50 个像素,例如图像尺寸为 800x600,因此新图像将是 750x600

如果 convert 不能做到这一点,那么 Linux 上有什么东西可以做到吗?

答案1

不确定您是否无法通过转换来执行此操作。

请看这里:

http://www.imagemagick.org/Usage/crop/#crop

下面是一个创建缩略图并识别原始图像宽度和高度的脚本:

#!/bin/bash
# Define a fixed resolution
long=500
short=600
# Creating thumbnails
(for i in *.png *.jpg; do
width=`identify -format %w $i`
height=`identify -format %h $i`
if [ $width -ge $height ]; then
  size=${long}x
else
  size=x${short}
fi

echo "# Resizing $i $width""x""$height -> $size" ;

convert -resize $size -quality 80 -gravity center -extent $size -background white $i /media/path/to/destination
done
)

您可以修改它以满足您的需要。

相关内容