GIMP bash,向现有 GUI 实例添加图层

GIMP bash, add layer to existing GUI instance

  1. 我想通过插件与 GIMP 的现有 GUI 实例进行通信。 我已经有另一个应用程序,我希望它在 GIMP 的当前现有 GUI 实例中添加一个层。 可能吗? 场景是: 我打开 GIMP (GUI), 然后一段时间后,我的程序(在系统中)向我正在使用的当前图像添加一个图层,而无需在 Gimp 中进行任何手动处理。

  2. 如果第一个不可能,如何让 GIMP 插件通过循环请求观看 url。我尝试使用插件,它让我的 GIMP GUI 冻结

默认情况下只有一个 Gimp 实例 运行,因此您可以

  1. 启动 Gimp,加载一张或多张图片
  2. 在 bash 提示符中使用如下内容:
gimp --batch-interpreter python-fu-eval -b "print gimp.image_list()"

陷阱:

  • 输出将出现在 Gimp 自己的标准输出中。所以如果你想看到上面命令的输出,你必须从另一个终端启动 Gimp,或者在后台启动它
  • 如果加载了多张图片,您将不得不找到一种方法来识别正确的图片(名称,如果是从文件加载的,或者是标题栏中的 ID)

对于更复杂的代码(即,提供 python 文件),请参阅 this answer,但省略 -b "pdb.gimp_quit(1)" 会使 Gimp 退出。