Windows:使用 GIMP 批量处理图像并将其保存到新文件

Windows:使用 GIMP 批量处理图像并将其保存到新文件

在我的 Windows 机器上,我想使用 GIMP 修改filename.png当前目录中的所有 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部分:批处理命令的语法错误,特别是引号需要正确设置:

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

第 2 部分:Gimp 总是等待我“按任意键”是由于使用了错误的二进制文件:必须使用gimp-2.8而不是 。gimp-console-2.8

谢谢,卡兰,提示解决方案。

相关内容