Сисадмин-любитель (ulrith) wrote,
Сисадмин-любитель
ulrith

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

У меня в институте была специальность - "обработка изображений". Но это я так, к слову. А слово у нас будет как раз про обработку изображений, в качестве второй иллюстрации юнегз вэя.
Ну так вот. Есть у меня на одном из проектов регулярно повторяющаяся задача - взять кучку присланных клеентом картинок в формате JPEG и уменьшить их так, чтобы ни по длине, ни по ширине они не превосходили 600 пигселей. Интеллектуальностей в этой задаче есть три: во-первых, большие картинки уменьшаются по разному в зависимости от того, что у них больше - длина или ширина; в результате операции большее измерение становиццо ровно 600 пигселей. Во-вторых, маленькие картинки, меньшие или равные 600 пигселям по любому измерению, трогать не надо. И, в третьих, при сохранении в JPEG коэффициент сжатия у нас должен быть равен 80.

В рамках майкросоуфт вэя мы должны пойти на Softkey, купить там самый навороченный на белом свете пакет для графических дизайнеров Adobe Photoshop 7.0 RU за 13500 руб., и потом тупо в нем корячиться (знаний то нет), либо уменьшая картинки по одной, либо, как я в свое время научился, через функцию Batch Mode, которая тоже далеко не элементарная. Данный подход возможен не только на базе Windows, но и на Linux: можно делать все то же самое в GIMP - графическом пакете, который по богацтву своих возможностей нисколько не уступает Фотошопу, только он GPL, бесплатный. Там Batch Mode реализуется через специальный внутренний скриптовый язык Script Fu. (Название конечно прикольное, но пользоваццо все равно надо учиццо.)

Но ни то, ни другое - это не юнегз вэй, так как срецтва, применяемые для решения задачи, совершенно не соотвецтвуют ее сложности. Вместо этого продвинутые пользователи Виндус ставят бесплатную программу IrfanView, которая мало того что являеццо отличным вьюевром графических файлов, так еще и содержит прекрасную простую в освоении конвертилку файлов с попутным изменением размеров, достаточно продвинутую чтобы сделать все то, что необходимо в рамках вышеописанной задачи. Это уже почти юнегз вэй, но не совсем. Что не так?

А то, что зачем же нам смотреть на все эти картинки, когда задача-то полностью автоматическая? Зачем открывать какие-то окошки, кликать по кнопкам, по крестикам, вписывать каждый раз туда эти 600 пигселей?... Вот именно, это нам совершенно не нужно. И в рамках истинного юнегз вэя мы просто берем программу convert из пакета ImageMagick, который есть на каждой Linux-системе, и запускаем команду, которая программирует нашу задачу раз и на всегда:

convert *.jpg *.JPG -resize 600x600\> -quality 80 image.jpg

Время обработки 10 картинок - 5 секунд.

P.S. Обновление скрипта.
Tags: imagemagick, unixway
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments