LINUX.ORG.RU

convert из пакета ImageMagick + identify + скрипт на баше не подойдёт?

adriano32 ★★★ ()

Gwenview > Модули > Групповая обработка> Изменить размер изображений

amus ★★★ ()

convert также может пережать фото с меньшим качеством - уменьшиться размер файла с сохранением изначальных размеров

x905 ★★★★★ ()
Ответ на: комментарий от x905

Спасибо, надо мануалы читать, а лень для одноразового действия :) Думал вдруг готовое есть

xorik ★★★★★ ()
#!/bin/bash
set -euo pipefail
W=$(identify -format "%w" $1)
fname=$(basename $1 .jpg)
if [ $W -gt 1200 ]; then
  convert -resise 1200 $1 ${fname}_1200.jpg
fi
legolegs ★★★★★ ()
Ответ на: комментарий от legolegs

Спасибо, похоже на правду, правда не учитывает, что фотки могут быть вертикальными :)

xorik ★★★★★ ()
Ответ на: комментарий от xorik

Из exiftools можно добавить определение ориентации фотоаппарата. Если, конечно, у вас дорогой фотоаппарат. В мыльницах такого нет...

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от xorik

И такой скрипт у меня есть в закромах. Просто я невнимательно прочитал пост.

#!/bin/bash
set -euo pipefail
WIDTH=$1
shift
while [ $# -gt 0 ]; do
    fname=$1
    fname=$(basename $fname .png)
    fname=$(basename $fname .jpg)
    W=$(identify -format "%w" $1)
    H=$(identify -format "%h" $1)
    if [ $W -gt $H -a $W -gt $WIDTH ]; then
        convert -resize $WIDTH $1 ${fname}_${WIDTH}.jpg
    elif [ $W -le $H -a $H -gt $WIDTH ]; then
        convert -resize x$WIDTH $1 ${fname}_${WIDTH}.jpg
    else
        cp $1 ${fname}_${WIDTH}.jpg
    fi
    shift
done

Использовать так: ./resize.sh 1200 *.jpg Для каждого файла сделает *_1200.jpg (даже для маленьких, их просто скопирует).

legolegs ★★★★★ ()
Ответ на: комментарий от legolegs

Вот спасибо, похоже то что нужно, вечером потестю

xorik ★★★★★ ()

exiftool -tagsFromFile

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.