LINUX.ORG.RU

GIMP-2.8 пакетная конвертация xcf->jpg

 


0

1

Собственно проблема. Порылся в инете и нашел такой скрипт:

(define (script-fu-xcf2jpg-batch xcfDirectory)
  (let* ((xcfList (cadr (file-glob (string-append xcfDirectory "/*.xcf") 1))))
    (while (not (null? xcfList) )
      (let* ((xcfFilename (car xcfList))
        (jpgFilename (string-append (substring xcfFilename 0 (- (string-length xcfFilename) 4) ) ".jpg"))
        (xcfImage    (car (gimp-file-load RUN-NONINTERACTIVE xcfFilename xcfFilename)))
        (xcfDrawable (car (gimp-image-get-active-layer xcfImage))) )
 
        (file-jpeg-save RUN-NONINTERACTIVE xcfImage xcfDrawable jpgFilename jpgFilename
              0.90 0.0 0 0 "" 0 1 0 2)
        )
      (set! xcfList (cdr xcfList))
      )
    )
)
 
(script-fu-register
  "script-fu-xcf2jpg-batch"
  "Batch XCF 2 JPEG"
  "Converts all xcf files from a directory to JPEGS"
  "Dan Kendall"
  ""
  "Apr 22 2009"
  ""
  SF-DIRNAME   "Gimp Image Directory"  "/tmp"
)
(script-fu-menu-register "script-fu-xcf2jpg-batch"
    "<Toolbox>/Mine/Batch/2JPEG")
Он вроде работает, но не так как хотелось бы: сохраняет не результирующую картинку, а только верхний layer, не обращая внимание на все предыдущие. Как это исправить или может у кого есть рабочий вариант такого скрипта? (ясно, что косяк в строке с gimp-image-get-active-layer, но разбираться со скриптингом совершенно нет времени)

пакетная конвертация

man imagemagick

anonymous
()
Ответ на: комментарий от bloodredfrog

Умеет. Параметр -flatten сразу сводит слои.

Ну тогда мой ответ ТСу - используйте imagemagick.

andreyu ★★★★★
()

Спасибо, попробовал imagemagick - сильно врет с яркостью: светлые участки делает светлее, темные - темнее. Сейчас заметил - скрипт выше также косячит, хотя экспорт самого гимпа работает нормально.

ApostolPetr
() автор топика
Ответ на: комментарий от spoilt

Спасибо! Сейчас проверил - все работает как надо)

ApostolPetr
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.