ImageMagick: как изменить размер пропорционально с mogrify без фона
я следовал этому примеру http://cubiq.org/create-fixed-size-thumbnails-with-imagemagick, и это именно то, что я хочу сделать с изображением, за исключением наличия остатков фона (т. е. белых границ). Есть ли способ сделать это, и, возможно, обрезать белый фон? Есть ли другой способ сделать это? Re-size должен быть пропорциональным, поэтому я не просто хочу установить ограничение на ширину или высоту, но пропорционально изменить размер изображение.
3 ответов
пример, на который вы ссылаетесь, использует эту команду:
mogrify \
-resize 80x80 \
-background white \
-gravity center \
-extent 80x80 \
-format jpg \
-quality 75 \
-path thumbs \
*.jpg
во-первых,mogrify
немного опасно. Он манипулирует вашими оригиналами inline и перезаписывает оригиналы. Если что-то идет не так, вы потеряли свои оригиналы и застряли с неправильными результатами. В вашем случае -path thumbs
однако устраняет эту опасность, потому что гарантирует, что результаты будут записаны в подкаталог превью
еще одна команда ImageMagick,convert
, может храните свои оригиналы и делайте те же манипуляции, что и mogrify
:
convert \
input.jpg \
-resize 80x80 \
-background white \
-gravity center \
-extent 80x80 \
-quality 75 \
thumbs/output.jpg
если хотите тот же результат, но только не на белый холст расширения (первоначально добавлено, чтобы сделать результат квадратным изображением 80x80), просто оставьте (том -background white
и gravity center
лишние тоже):
convert \
input.jpg \
-resize 80x80 \
-quality 75 \
thumbs/output.jpg
или
mogrify \
-resize 80x80 \
-format jpg \
-quality 75 \
-path thumbs \
*.jpg
Я знаю, что это старый поток, но с помощью флага-write с флагом-set можно писать в файлы в том же каталоге без перезаписи исходных файлов:
mogrify -resize 80x80 \
-set filename:name "%t_small.%e" \
-write "%[filename:name]" \
*.jpg
Как отмечено в http://imagemagick.org/script/escape.php, %t-имя файла без расширения, %e-расширение. Итак, вывод изображения.jpg будет миниатюрой image_small.формат jpg.
Это команда, которую я использую каждый раз, когда хочу изменить размер пакета до 1920x и сохранить соотношение сторон.
однако существует -путь . - изменить размер 1920x1920-формат " _resized.jpg " - качество 70 *.формат JPG