1

我知道您可以编写python脚本GIMP,然后通过GIMP您可以将这些脚本用作插件,但我想要实现的是使用GIMP's functionsthrough Python,就好像您将使用PILscikit-image通过Python. 我不想打扰我的程序用户一样实际下载Gimp只是为了执行我需要的一个功能。

我能做这样的事吗???还是我走得太远了?
如果不是,我可以做的最好的替代方法是强制Gimp在不打扰程序用户的情况下进行秘密工作。在这种情况下,我认为我将被迫GIMP在安装过程中进行安装,这是我讨厌的。

更新:-(
1)考虑libgimp到谷歌搜索后我发现了这个讨论。简而言之>“libgimp只是用来允许GIMP core和它的插件进行通信”,所以它不能像我希望的那样工作。
(2) 我想访问GIMP代码并删除我不需要的所有不必要的功能,并保留我要使用的唯一功能,那就是一个功能 GIMP。你认为我应该做这样的事情吗?

更新:-
是的,问题已解决,但我仍然有兴趣以GIMP任何方式用作图书馆,即使它像Marawan所建议的那样是秘密的。希望你能提供帮助。

谢谢。

4

2 回答 2

2

如果安装了 GIMP,你可以试试批处理模式。另一种选择是使用 gimp-fu

显然,如果您没有安装 GIMP,您将无法使用它。:-)

编辑

我想访问 GIMP 代码并删除我不需要的所有不必要的功能,并保留我要使用的唯一功能,那就是一个功能 GIMP。

这似乎过于雄心勃勃。GIMP 代码库庞大而复杂。

作为图像处理的替代方法,您可以查看带有Wand python 绑定的ImageMagick 。Python 图像库

于 2012-10-25T16:54:43.587 回答
1

您可以使用诸如便携式 gimp之类的东西:这将允许您将 gimp 与您的程序一起提供,而无需用户进行额外的安装。然后,您可以让 python 库中的函数使用 gimp 的 python 脚本功能运行 gimp 操作。查看此答案以获取执行此操作的示例。

在上面的例子中,对flip函数的每次调用都会产生一个新的 gimp 进程并等待它完成执行。这当然可能很慢。有两种提高速度的策略:

  1. 使用减少启动时间的命令行选项减少 gimp 启动时间
  2. 在程序启动时启动一个 gimp 进程。让它运行并使用一些进程间通信技术与它通信,并在您希望它执行操作时向它发送指令。
于 2012-10-25T19:50:40.647 回答