0

这是我的问题。

语境

我正在构建一个完整的系统来处理我公司的图像处理。我们正在处理.psd.cr2文件制作很多不同的操作(例如开发.cr2文件更改展览构建带有图层的图像架构等)
因为我们还很年轻(==>非常小,预算有限)我们没有电脑专注于图像处理。但是我们仍然需要大量的处理。所以我所做的是:
我设置了一个 NAS,然后在公司的 3 台具有 Photoshop 的计算机上安装了一个小 .AS3 守护程序(我只是设法在 .as3 中做到这一点,我知道这很遗憾。
本程序使用cs5.1中全新的“远程连接”来控制photoshop。基本上,该程序只是在队列中检查它是否有一些工作要做,如果有,它会使用 .jsx 文件将订单传输到 photoshop。
最后,当我们想在计算机上使用 Photoshop 时,我们只需停止该守护进程使用 Photoshop,然后在需要处理时重新激活它。

问题

这目前工作正常,但我有一个大问题:由于财务原因很难扩展这个系统==> photoshop 不是免费的!这是一个问题,因为可扩展性是一个目标......

所以我的想法是以同样的方式使用 Gimp。公司中的任何新计算机都将安装 gimp 和一点 Python/C++/ 任何控制它的程序。

问题

除了 gimp 2.6 (2.8!!!) 仍然缺乏对层集的支持之外,我很难用它建立简单的套接字连接!
程序 A 如何向 Gimp 发送 python 脚本来处理图像?

4

1 回答 1

1

这是可以做到的,而且不难做到。通过检查 GIMP 的脚本 API< 称为程序数据库,可以看到在 GIMP 中可以做什么和不可以做什么 - 您可以通过从 GIMP 中转到“帮助”->“过程数据库”来查看可用的功能和用法。这些可用于“pdb”模块上的 Python,用下划线替换函数名称上的破折号(并且只要第一个参数是“交互式/非交互式,则调用中应完全省略 ti)

最大的问题是,所有这些功能都只能在 GIMP 的运行实例中工作——从在 GIMP 之外运行的 Pytho 导入 gimp、gimpfu 或 pdb 模块会给你一个错误。

另一方面,除了 GIMP 的 API 之外,您还可以使用完整的Python 语言——它的标准库中包含它的所有内容,以及您选择安装的任何第三方模块。

因此,您可以编写一个应用程序来侦听 XML-RPC 调用,接收一些文本消息,并将此消息作为脚本“执行” - 瞧(如果您绝对信任脚本的请求源,请执行此操作)。

为 GIMP 编写 Python 脚本可能有些棘手 - 鼓励您从 Gimp->filters->Python->console 菜单中使用 Python Console,并查看其他地方的文档和示例 (http://stackoverflow.com/questions /tagged/gimp+python )了解这些脚本是如何完成的。另一方面,使用 Python 创建一个 xml-rpc 服务器以在 GIMP 插件中运行是一件容易的事情,甚至官方 Python 文档也可以为您提供示例:http ://docs.python.org/库/simplexmlrpcserver.html

您应该将“xml-rpc 脚本服务器”创建为 GIMP-Python 插件,并使用命令行启动 GIMP 以gimp -i -b (python-fu-myserverplugin ) 使其运行。

于 2012-01-27T01:34:20.123 回答