d51x.ru - личный блог

О самом разном из своей жизни

Изменение размера и формата картинки из командной строки4 апреля 2011

Читало: 4070Рубрика: Разное

Недавно нашел решение одной задачи. 

Задача следующая:

1. есть куча фоток, все разного размера

2. надо отресайзить их так, чтобы размер полученного файла был не более 10 Кб.

Сперва я попробовал отресайзить несколько фоток в программе XnView. Выбрал довольно маленький размер. Высота 200px. Размеры файлов фоток все равно получались достаточно большими. Оказалось, что в файле много всякой мета-информации (exif и прочие). Удалил эти метаданные. Размер полученного файла уложился в 10 Кб.

Попробовал еще несколько фоток так уменьшать. Размер файла получался от 3 Кб до 9 Кб.

Но руками это каждый раз делать не прикольно. Начал искать решение как автоматизировать этот процесс.

Довольно быстро нашлось решение. Погуглил и нагуглил консольную утилиту nconvert.

И что самое интересное, эта утилита идет в комплекте с моей любимой XnView. :)

Поизучав параметры, которые можно передать этой утилите, составил простенький батник resize.bat:

nconvert -o %1 -q 75  -rmeta -rexifthumb -resize w 200 -ratio  %1

Запускать так:

resize.bat "photo.jpg"

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