WSL 中第一个参数 GIMP 批处理阈值错误

Error in first argument GIMP batch threshold in WSL

我在使用 GIMP batch commands in WSL 时遇到问题。

我有一个包含多个 .png 文件的文件,我正在尝试使用 gimp 批处理对所有文件应用阈值,gimp 中的文档说明了如何 运行 命令,但我当我 运行 一个几乎从文档中复制的脚本时出现错误。

这里有一些尝试-错误对

gimp -i -b '(gimp-drawable-threshold "*.png" 6 0 0.5)' -b '(gimp-quit 0)'
batch command experienced an execution error:
Error: Invalid type for argument 1 to gimp-drawable-threshold

类似于

gimp -i -b '(gimp-threshold "*.png" 0 0.5)' -b '(gimp-quit 0)'
batch command experienced an execution error:
Error: Invalid type for argument 1 to gimp-threshold

我在文档中找不到 GIMP 中 ScriptFu 的参数是如何编号的,所以我首先假设第一次尝试的 6 是错误的,但是用 gimp-threshold 测试表明它没问题。

意识到 "*.png" 可能是错误的,我四处搜索,发现有人用转义符 (\") 编写文件名参数,但这也不起作用。

如有任何帮助,我们将不胜感激!

我建议您探索 GIMP 中的过程浏览器(帮助>>过程浏览器)

但为了给你一个快速的答案,gimp-threshold 将可绘制对象 ID 作为第一个参数(这是一个数字)而不是文件名。

您需要编写一个脚本来打开一个文件,然后找到您要操作的图层的 ID,然后大概会保存该文件。