Как обрезать изображение в Linux

Как обрезать изображение в Linux

Хорошо, я знаю об инструменте конвертации, и мне интересно, можно ли его использовать, скажем, для удаления нижних 50 пикселей изображения, оставив остальную часть изображения нетронутой.

Можно ли это сделать партиями?

Допустим, у меня есть 20 изображений разных размеров, и я хочу удалить только нижние 50 пикселей. Например, изображение имеет размер 800x600, поэтому новое изображение будет иметь размер 750x600.

Если convert не может этого сделать, есть ли что-нибудь для Linux, что может?

решение1

Не уверен, что это нельзя сделать с помощью convert.

Взгляните здесь:

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
)

Вы можете изменить его в соответствии со своими потребностями.

Связанный контент