Ответ 1
Попробуйте выполнить команду mogrify
:
mogrify -format png *.*
Но будьте осторожны. Без параметра -format
mogrify
перезаписывает исходные изображения. Обязательно прочитайте документацию .
У меня есть папка со многими изображениями разных типов (png, jpg, jpeg, bmp, pdf), и я хотел бы преобразовать их все в png (например) с помощью imagemagick.
Есть ли одна команда, которая может это выполнить? Если нет, что мне делать вместо этого?
Спасибо.
Попробуйте выполнить команду mogrify
:
mogrify -format png *.*
Но будьте осторожны. Без параметра -format
mogrify
перезаписывает исходные изображения. Обязательно прочитайте документацию .
Хотя mogrify
, похоже, выполняет эту работу, я хотел бы показать вам, как это можно сделать с помощью нескольких команд с convert
из ImageMagick.
Я думаю, что несколько команд лучше, потому что количество типов файлов предположительно довольно мало, и вы можете лучше настроить его на свои нужды:
Эта команда:
for file in *.xbm; do convert $file "`basename $file .xbm`.png"; done
преобразует все файлы .xbm
в .png
, не касаясь файлов xbm.
Затем вы можете переместить все "конвертированные" файлы:
mkdir converted
for file in *.xbm; do mv $file converted/; done
Вы можете использовать команду convert
из пакета ImageMagick, например.
find . -maxdepth 1 \( -iname \*.png -o -iname \*.jpg -o -iname \*.jpeg -o -iname \*.bmp -o -iname \*.pdf \) -exec convert -verbose "{}" "DEST_DIR/{}.png" \;
Или, если у вас есть все файлы в одном каталоге, попробуйте следующий простой способ:
convert '*.*' converted_%04d.png
Аналогично: Как масштабировать все изображения в папке до той же ширины?