Пакетная обработка графических файлов, предложите простые способы (решения) ?

0
dexif - 11 Октябрь, 2009 - 09:50
Изображение пользователя dexif.

Сам задался подобным вопросом(пакетного ресайза) и набросал скриптик :)
Скрипт пакетной работы с изображениями
Я правильно понял ваш вопрос? :)

+3
Soi-Fong - 11 Октябрь, 2009 - 14:36
Изображение пользователя Soi-Fong.

Очень много можно сделать утилитой CONVERT.

Для её установки нужно поставить пакет: imagemagick

sudo apt-get install imagemagick

*Balamutick: Soi-Fong я переработал немного статью, потому пришлось и твоё сообщение немного поправить, не меняя смысла.

0
balamutick - 13 Октябрь, 2009 - 13:16
Изображение пользователя balamutick.

Обнаружил, что программа для работы с изображениями DigiKam умеет работать с изображениями:

А точнее даже с их пакетной обработкой и легкими движениями руки, позволяет:

  • применить различные эффекты ко всем фотографиям (масляные краски, и т.п.)
  • изменить размер всем фотографиям сразу
  • пририсовать рамку к фотографиям
  • изменить формат изображений (позволяет выбрать)

и т.п.

Делается так, выделяем обрабатываемые изображения, или ничего не выбираем в каталоге (это позволяет выбрать всё).

Далее заходим в меню BATCH (оно может чуть по другому у вас называться), ну а далее следуем по вполне понятным инструкциям.

+3
dm - 13 Октябрь, 2009 - 13:30
Изображение пользователя dm.

Есть еще такая замечательная программка Kde Image Menu сокращенно KIM очень удобная штука, и кажется есть в репозитариях kubuntu, что 8.04 что 9.04 и старше.

0
Condor - 1 Апрель, 2010 - 08:01
Изображение пользователя Condor.

А кто-нибудь знает похожую на DigiKam программу для гнома?
А то у меня предлогает половину кед выкачать :0((
Как-то неделю назад пришлось полтыщи фоток ресайзить для сайта, дык я нашел скрипт для gimp на fu-script
(define (batch-resize pattern size quality)
  (let* ((filelist (cadr (file-glob pattern 1)))
      (len (if (string? size) (string-length size) 0))
      (rate (if (and (> len 0) (char=? #\% (string-ref size (- len 1)))) (/ (string->number (substring size 0 (- len 1))) 100) 0))
      (size (if (> rate 0) 0 (if (> len 0) (string->number size) size)))
    )
    (while (not (null? filelist))
      (let* ((filename (car filelist))
          (image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
          (drawable (car (gimp-image-get-active-layer image)))
          (old-width (car (gimp-image-width image)))
          (old-height (car (gimp-image-height image)))
          (width (if (> rate 0) (* rate old-width) (if (> old-width old-height) size (* size (/ old-width old-height)))))
          (height (if (> rate 0) (* rate old-height) (if (> old-width old-height) (* size (/ old-height old-width)) size)))
        )
        (gimp-image-scale image width height)
        (file-jpeg-save RUN-NONINTERACTIVE image drawable filename filename quality 0 1 1 "" 2 1 0 0)
        (gimp-image-delete image)
      )
      (set! filelist (cdr filelist))
    )
  )
)

Вызов
(batch-resize "/путь_к_фоткам/*.jpg" a b)
Где a - размер большей стороны, b - качество изображения от 0 до 1 (0.85 - 85%).
Например: (batch-resize "/home/pictures/*.jpg" 800 0.9)
Скрипт рабочий, но гиморный, например, tiff жмёт и конвертит в jpg, только криво как-то, и расширение на jpg не меняет у обработанных фоток...

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры