在shell脚本中使用gimp color-to-alpha脚本

时间:2013-07-07 21:36:50

标签: macos shell gimp

我正在尝试重现颜色到alpha功能的gimp商品,它会根据像素中的颜色数量增加透明度。

我想知道如何从命令行使用此功能的原因是只需单击即可将该功能应用于多个图像,而无需在gimp中逐个打开每个图像。

要从终端运行gimp脚本,请使用以下行: /Applications/GIMP.app/Contents/MacOS/gimp -i -b后跟函数名称及其参数。

此函数称为color-to-alpha,需要4个参数才能工作:

run-mode INT32 Interactive, non-interactive
image IMAGE imput image
drawable DRAWABLE input drawable
color COLOR Color to remove

所以我尝试了以下内容: /Applications/GIMP.app/Contents/MacOS/gimp -i -b '(color-to-alpha 0 "/Users/Maxime/Desktop/Images/fx_ice.png" 0 (0 0 0))' -b '(gimp-quit 0)'但我有以下错误:Error: ( : 2) eval: unbound variable: color-to-alpha

我猜测问题来自我试图传递的参数的语法。 我试图找到如何传递参数的例子,就像在这种情况下但没有找到任何东西。

如果有人知道如何做到这一点,那就太好了,

谢谢

1 个答案:

答案 0 :(得分:4)

好的,我找到了我的帖子。

我一直在做的事情一直都是错误的:p

所以这是一个批处理命令行,可以从图像中删除黑色baground,就像GIMP的颜色到alpha函数一样:

/Applications/GIMP.app/Contents/MacOS/gimp -i -b "(let* ( ( image (car (file-png-load 1 \"/Users/Name/Desktop/img.png\" \"/Users/Name/Desktop/img.png\") ) ) (drawable (car (gimp-image-active-drawable image) ) ) ) (plug-in-colortoalpha 1 image drawable '(0 0 0) ) (gimp-file-save RUN-NONINTERACTIVE image drawable \"/Users/Name/Desktop/img2.png\" \"/Users/Name/Desktop/img2.png\") ) " -b "(gimp-quit 0)"

这是非常不全面的,因为它需要是一个内联命令,但它在我的MAC上工作正常