Win10下GIMP脚本运行报错unbound variable: strbreakup求助
解决GIMP batch-smart-resize脚本"unbound variable: strbreakup"错误
这个问题我之前帮朋友排查过,核心原因其实很明确:你升级到Windows 10后安装的GIMP版本肯定比Win7时期用的旧版本要新,而脚本里用到的strbreakup函数在新版GIMP的Script-Fu环境中已经被废弃移除了,替代它的是string-split函数,这就是报错的根源。
具体修复步骤:
- 找到你本地的
batch-smart-resize脚本文件(通常在GIMP的scripts文件夹里,比如C:\Program Files\GIMP 2\share\gimp\2.0\scripts,或者用户个人目录下的GIMP脚本文件夹) - 用文本编辑器打开脚本,搜索所有用到
strbreakup的地方,把它替换成string-split,注意参数格式的变化:- 旧写法(报错的代码):
(strbreakup 目标字符串 "分隔符") - 新写法:
(string-split 目标字符串 #\分隔符)(分隔符需要用#\前缀表示字符类型)
- 旧写法(报错的代码):
代码修改示例:
比如脚本中处理文件名后缀的典型代码段:
; 旧代码(会报错) (let* ((file-parts (strbreakup filename ".")) (base-name (car file-parts)) (extension (cadr file-parts)))
修改为:
; 新代码(兼容新版GIMP) (let* ((file-parts (string-split filename #\.)) (base-name (car file-parts)) (extension (cadr file-parts)))
- 保存修改后的脚本,重启GIMP,再运行
script-fu-batch-smart-resizer就能正常工作了。
如果之后还遇到其他函数相关的报错,可以参考GIMP官方的Script-Fu文档,确认新版函数的使用方式——毕竟GIMP的Script-Fu环境会随着版本更新调整函数接口。
内容的提问来源于stack exchange,提问作者Three-D
相关产品推荐
相关产品推荐

