2009-11-20 2 views
1

Мне нужно сделать скрипт для чтения изображений из каталога, переименовать их, изменить их размер до MAX_HEIGHT, MAX_WIDTH, поместить логотип водяного знака и сохранить их в JPG.Эффективный интерпретируемый язык программирования для управления файлами/изображениями

Я думал об этом с использованием интерпретируемого языка, такого как Ruby, PHP, Perl, Python или любого другого с возможностями манипуляции с изображениями.

На каком языке вы рекомендовали бы это делать?

+1

возьмите PIL (L) ;-) – mjv

+0

+1 для ваших творческих способов. –

+2

Это звучит как работа для imagemagic и bash. – jmucchiello

ответ

10

Кажется, ImageMagick с PerlMagick подходит для вашей задачи.

+0

Я бы не предлагал использовать Perl Magick. У меня была проблема с тем, что часть imagemagick претерпела некоторые плохие образы - и поскольку perlmagick загружает imagemagick как библиотеку, это фактически закончило мою программу. – 2009-11-20 13:23:43

9

Любой язык + ImageMagick набор программ. Использование их через библиотеки (например, PerlMagick) оказалось менее оптимальным, но выполнение этого через системные вызовы работало невероятно хорошо. Вы можете найти set of scripts что:

  • выполнять несколько полезных задач
  • показать менее известные особенности ImageMagick
+1

+1 для набора скриптов – sebthebert

2

Вы можете посмотреть на то, что «phatch» делает (http://photobatch.stani.be/), это партия питон изображение pocessor.

Он пытается использовать все различные библиотеки обработки изображений с открытым исходным кодом (imagemagick, python pIL, exiftools и т. Д.) Для тех частей, где они хороши. Поэтому, даже если вы (возможно) не используете сам phatch, может получить хорошее представление о том, какие инструменты хороши для чего. (См. summary of a talk by phatch's author)

5

В прошлом я нашел, что модуль Perl Imager чрезвычайно полезен. Он имеет лучший API, чем GD и ImageMagick (IMHO), и работает очень быстро. Это также необязательно требует внешних библиотек, таких как libgd или ImageMagick, за исключением, возможно, системной библиотеки для чтения/записи желаемого формата файла.

Я не собираюсь пытаться ответить на вопрос «какой язык лучше», потому что я предвзятый, и это неправильный вопрос, чтобы спросить в любом случае. Это должно быть «Как я могу сделать X с любым из этих языков», а затем решать для себя на основе конкретных ответов на язык. Судя по ответам, ям одного языка против другого не рекомендуется. Как правило, предвзятость и повестка дня лица, предоставляющего ответ, не ясны, и, следовательно, ценность ответа на решение равна нулю.

2

Еще одна альтернатива: оболочка по вашему выбору, используя netpbm.

Смежные вопросы