3

На моем компьютере с Windows я хочу использовать GIMP для изменения всех файлов PNG (filename.png) в текущем каталоге и сохранения выходного файла в подкаталог out/filename.png . Необходимая обработка:

  • добавление закругленных углов
  • добавление тени
  • изменение размера изображения

Для этого я попытался использовать следующий скрипт и поместил его в C:\Program files\GIMP\share\gimp\2.0\scripts:

(define (script-fu-shadowcorners infile outfile width height)
  (let* ((image (car (file-png-load 1 infile infile)))
         (drawable (car (gimp-image-active-drawable image)))
        )
    (script-fu-round-corners image drawable 10 FALSE 8 8 30 FALSE FALSE)
    (script-fu-drop-shadow image drawable 8 8 12 '(0 0 0) 45 TRUE)
    (gimp-image-scale image width height)
    (gimp-file-save RUN-NONINTERACTIVE image drawable outfile outfile)
  )
)

(script-fu-register "script-fu-shadowcorners" "" "" "" "" "" "RGB*" SF-FILENAME "Infile" "infile.png" SF-FILENAME "Outfile" "outfile.png")

После этого я попытался вызвать этот скрипт с помощью следующего пакетного файла:

for %%x in (*.png) do "C:\Program files\GIMP\bin\gimp-2.8" -i -b "(script-fu-shadowcorners \"%%x\" \"newfolder\\%%x\")"

Это не работает. Он всегда говорит, что не может найти файлы, он очень медленный и не выводится.

Теперь, когда команда CMD работает, по крайней мере, проблема не полностью решена. В CMD после моей пакетной команды появляется строка, в которой подстановочный знак %%x заменяется первым именем файла, но только первым. В каталоге вывода я также не могу найти файлы, кроме первого. Тем не менее, вывод Gimp - это batch command executed successfully .

Что я делаю неправильно? Вы можете мне помочь? Большое спасибо!

1 ответ1

4

Решение состояло из двух частей:

Часть 1: синтаксис пакетной команды был неправильным, особенно кавычки должны быть установлены правильно:

for %%x in (*.png) do "C:\Program files\GIMP\bin\gimp-2.8" -i -b "(script-fu-functionname \"%%x\"

Части 2: Gimp всегда ждал, чтобы я "нажал любую клавишу", из-за неправильного бинарного файла: вместо gimp-2.8 -2.8 должен использоваться gimp-console-2.8 .

Спасибо, Каран, за намеки на решения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .