LINUX.ORG.RU

Как в Imagemagick повернуть только «альбомные» изображения?

 


0

2

Задача - сконвертировать pdf даташит в картинки, которые гораздо быстрее прокручиваются и масштабируются, чем из pdf вьювера.

Можно сделать это с convert, но меньше геммору так: pdfimages -png file.pdf file.

И вот получается, что большинство картинок лежат на боку, но не все. Я не могу сделать сразу: convert -rotate 90 file file_new или mogrify -rotate 90 file.

Как можно, используя топиковый пакет, поставить вертикально только альбомно-ориентированные изображения, не роняя которые уже портретные? Желательно без длинных скриптов на баше.

★★★

Последнее исправление: hikikomori (всего исправлений: 1)

Ответ на: комментарий от unterwulf

То есть только внешней логикой, используя identify? Спасибо! А можно поворачивать сам файл изображения без перекодирования, чтобы не менялся размер файла, не нужно было потом удалять оригиналы? ещё Вы использовали convert -transverse, почему не mogrify -rotate в чём разница?

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

Я не то чтобы знаток ImageMagick. Встроенных средств ни в мане ни в гугле не нашёл. А по остальным вопросам просто слажал. Про mogrify не знал. А про transpose/transverse плохо прочитал и подумал, что они просто для 90/270 градусов (типа для какого-нибудь джипега можно схитрить без пережатия, подумал я), а они, оказалось, ещё и отражают.

Судя по ману mogrify -rotate 90 "$f" как раз то, что вам нужно.

unterwulf
()
Ответ на: комментарий от unterwulf
for f in *.png; do set $(identify -format '%W %H' "$f"); if [ $1 -gt $2 ]; then mogrify -rotate 90 "$f" "${f%.png}.port.png"; fi; done

Да, так самое то, спасибо!

А можно ли ориентацию выдирать из EXTIF информации файла? Бывают же случаи, когда ширина и высота не показатель.

hikikomori ★★★
() автор топика
Последнее исправление: hikikomori (всего исправлений: 1)
Ответ на: комментарий от hikikomori

Лишний аргумент у mogrify оставили.

А можно ли ориентацию выдирать из EXTIF информации файла? Бывают же случаи, когда ширина и высота не показатель.

Я для этого exiv2 всегда использовал, но, похоже, identify тоже умеет:

identify -format '%[orientation]' pic.jpg
unterwulf
()
Ответ на: комментарий от unterwulf

Лишний аргумент у mogrify оставили.

Ой, верно. Спс, исправил.

identify -format '%[orientation]' pic.jpg

Отлично, в заметки.

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