20 мая 2011

Пакетная обработка изображений

Понадобилось несколько тысяч изображений обработать для сайта. Вспомнил ДОС и командную строку. Итак,


Пакетный конвертер изображений 

Нашёл программку nconvert.exe
http://www.xnview.com/en/download_nc.html

И собрал по кусочкам параметры командной строки:

C:\images\XnConvert\nconvert.exe -out jpeg -autocrop 25 255 255 255 -ratio -resize 600 0 -rtype mitchell -rflag decr -overwrite -opthuff -q 80 -dct 2 -smoothingf 2 -rmeta -rexifthumb -wmfile C:\images\logo-with-alpha.png -wmflag center -wmopacity 10 -autocontrast -autolevels -o C:\images\converted\%% *.*

Подробнее

По каждой опции:

  • Конвертировать в JPEG   -out jpeg 
  • Автообрезка по белому цвету   -autocrop 25 255 255 255 
  • Уменьшать изображения до 600px в ширину с сохранением пропорций методом Митчела, уменьшать только в том случае если требует уменьшение изображения     -ratio -resize 600 0 -rtype mitchell -rflag decr 
  • Переписывать выходные файлы -overwrite 
  • Для JPEG оптимизация буфера Хаффмана, качество 80%, плавающая точка запятая, сглаживание 2 уровня   -opthuff -q 80 -dct 2 -smoothingf 2 
  • Убирать метаданные     -rmeta -rexifthumb 
  • Водяной знак    -wmfile C:\images\logo-with-alpha.png -wmflag center -wmopacity 10 
  • Автоконтраст, автоуровни   -autocontrast -autolevels 
  • Куда записывать готовые файлы   -o C:\images\converted\%% *.*


2 комментария:

Green FiLin комментирует...

М-м-м... Без командной строки это может irfanview. Ну, может быть не все, насчет автообрезки я сомневаюсь. Но так - да, все прекрасно работает. И ДОС вспоминать не надо. =)

Valery Moskalenko комментирует...

Да понятно что xnView, irfanView умеют через GUI выполнять конвертацию. А если надо пакетный режим? Каждую ночь?

Кстати, есть более мощная библиотека ImageMagick http://www.imagemagick.org там есть и командная строка и примеры для вызова методов на многих языках программирования PHP, Perl, C#, C, C++, Pascal и т.д. Но он у меня не пошёл...