(在Windows 7 x64下)
我最初尝试使用BIMP将剪切效果应用于文件夹,但FU-cutout是插件列表中未显示的少数几个之一。我读到的地方是因为我没有在定制时安装GIMP以允许与旧插件的兼容性而且我重新安装以尝试修复此功能无济于事。所以我决定使用script-fu,但发现自己无法通过命令行解决问题。
我已经检查了几个网站,解释了如何批处理脚本(包括官方的GIMP文档),并以下面的代码结束。
(define (hmd-batch-stylize pattern colours smoothness)
(let* ( (filelist (cadr (file-glob pattern 1) ) )
)
(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)))
)
(gimp-brightness-contrast drawable 35 40)
(FU-cutout RUN-NONINTERACTIVE
image drawable colours smoothness TRUE)
(gimp-file-save RUN-NONINTERACTIVE
image drawable filename filename)
(gimp-image-delete image)
)
(set! filelist (cdr filelist))
)
))
(我也注册了脚本,但为了简单起见,我不会在这里添加此代码)。然后我打开命令行并写
gimp -i -b '(hmd-batch-stylize "C:\Users\User\Desktop\3\*jpg" 32 1)' -b '(gimp-quit 0)'
在gimp目录中(我尝试了我的文件所在的目录,但gimp在那里没有被识别为命令)。 gimp控制台启动,无法执行一堆dll和一个文件夹(GMIC的所有部分),提到“Exec格式错误”,然后我得到两个“批处理命令成功完成”,此时命令行冻结,直到我关闭它。
我在网上搜索了几天希望找到解决方案,但似乎没有人像我这样有问题,所以还没有解决方案。非常感谢帮助。
PS:我想过要创建一个出现在BIMP中的脚本,并作为中间人来访问FU-cutout,但是我找不到如何将当前图像/文件名传递给BIMP作为论点。如果有人知道如何,我觉得这可能是解决这个问题的最简单方法。