【问题标题】:use gimp color-to-alpha script in a shell script在 shell 脚本中使用 gimp color-to-alpha 脚本
【发布时间】:2013-07-07 21:36:49
【问题描述】:

我正在尝试重现 gimp 提供的 color-to-alpha 函数,它根据像素中的颜色量增加了一定程度的透明度。

之所以想知道如何在命令行中使用这个函数,是因为可以一键将这个函数应用到多张图片上,而不必在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

我猜问题出在我试图传递的参数的语法上。 我试图找到如何在这种情况下传递参数的示例,但没有找到任何东西。

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

谢谢

【问题讨论】:

  • 我知道你想要“shell 脚本” - 但请不要 - 使用 GIMP 的内置 Python 脚本(但我不知道它是否适用于 OS X)或 GIMP 的脚本-fu,它是基于模式的。从外部 shell 进程执行此操作,只是为了开始,可以为每个图像创建一个新的 GIMP 进程 - 这不是你想要的

标签: macos shell gimp


【解决方案1】:

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

我所做的一切都是错误的:p

所以这里有一个批处理命令行,可以像 GIMP 的 color-to-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 上运行良好

【讨论】:

  • 更改 '(0 0 0) 的 hte 值会将颜色更改为透明
  • 谢谢!正是我想要的。
  • 注意:letgimp-image-active-drawablegimp-file-save 是主命令正常工作所需的指令。 imagedrawable 是指向当前加载图像的内部变量。要运行任何其他命令,请将 (plug-in-colortoalpha 1 image drawable '(0 0 0) ) 替换为括号内的正确命令。检查此链接以获取有关语法的信息:gimp.org/tutorials/Basic_Scheme
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-19
  • 2015-07-22
  • 1970-01-01
相关资源
最近更新 更多