我正在尝试重现颜色到Alpha功能的gimp产品,该产品根据像素中颜色的数量增加了透明度。
我之所以想从命令行中使用此功能,是因为只需单击一下即可将该功能应用于许多图像,而不必一一打开每个图像。
要从终端运行gimp脚本,请使用以下行:
/Applications/GIMP.app/Contents/MacOS/gimp -i -b
后跟函数名称及其参数。
此函数称为“颜色转换为alpha”,并使用以下四个参数进行工作:
run-mode INT32 Interactive, non-interactive
image IMAGE imput image
drawable DRAWABLE input drawable
color COLOR Color to remove
Run Code Online (Sandbox Code Playgroud)
因此,我尝试了以下操作:
/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
我猜问题出在我想传递的参数的语法上。我试图找到在这种情况下如何传递参数的示例,但没有发现任何东西。
如果有人知道该怎么做,那就太好了,
谢谢
好的,我已经找到了遮阳篷。
我一直在做的事情很错误:p
因此,这是一个批处理命令行,可从图像中去除黑色背景,例如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上可以正常工作