На моем компьютере с 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
.
Что я делаю неправильно? Вы можете мне помочь? Большое спасибо!