Изменить размер больших изображений с помощью mogrify (ImageMagick), но оставить маленькие изображения без изменений

Размеры изображений можно изменить с помощью mogrify из пакета ImageMagick:

`mogrify -resize 256x256 *.jpg`

Но это изменит размер изображений так, что наибольшее измерение будет 256px, включая изображения, размер которых меньше 256px для начала (например, аватары размером 100x100px).

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

(Предпочтительно я смогу сделать это с помощью пакета ImageMagick, или, по крайней мере, не устанавливая ничего дополнительного).

2 ответа

Решение

Пытаться mogrify -resize '1280x1024>' *.jpg не забудьте сделать резервную копию, хотя.

mogrify -resize '256x256>' *.jpg также изменяет изображения, которые он не изменяет, и изменяет их данные изображения. Это не:

identify -format '%w %h %i\n' *.jpg|awk '$1>256||$2>256{print$3}'|xargs mogrify -quality 93 -resize 256x256

Или, если пути к файлам содержат пробелы, одинарные кавычки, двойные кавычки или табуляции:

identify -format '%w %h %i\n' *.jpg|awk '$1>256||$2>256'|cut -d\ -f3-|xargs -d\\n mogrify -quality 93 -resize 256x256

Другие вопросы по тегам