11

GIMPを使用すると、Pythonでプラグインを作成できます。私がやりたいのは、このプラグインの1つで行うのと同じように、GIMP関数を呼び出すことですが、GIMPは、使用する実行中のGIMPコアを見つけられないため、次のエラーを返します。

LibGimpBase-ERROR **: gimp_wire_write_msg: the wire protocol has not been initialized aborting...

可能かどうか知りたいのですが?はいの場合、どのように?

ありがとう

4

3 に答える 3

15

GIMPのPython拡張機能は、GIMPインスタンス内から実行する必要があります。PythonからGIMPśAPIを使用する場合は、グラフィカルUIなしでGIMPを実行し(-iコマンドラインからパラメーターを渡す)、APIへのカスタム呼び出しを-b実行する必要があります-コマンドラインパラメーターを使用して-したがって、python_fu_do_itを実行できますプログラム、コマンドライン呼び出しから:

gimp -i -b \(python-fu-do-it \)

これがgimp-python拡張機能を実行する唯一の方法であることに注意してください。GIMPプロセス内から実行する必要があります。

実生活では、gimp-pluginに、必要な画像に対してアクションを実行するいくつかの関数を公開させ、それらをxmlrpcまたはjsonrpcサーバーを介してエクスポートすることをお勧めします。これはPythonで簡単に実行できます。次に、上記の方法を使用してこの「イメージサーバー」を起動し、xmlrpcを介してgimpを使用する関数を呼び出すスタンドアロンのPythonスクリプトを作成します。

于 2011-11-20T14:36:17.863 に答える
0

1 つのオプションは、スクリプトとして gimp 内にリスナー プロセスを作成し (これは、UI のロックアップに影響する可能性があります。ここでは実験が必要になります)、beanstalkd 作業キューをリッスンするようにします。次に、外部プロセスで、Beanstalk キューに作業要求を提出すると、Beanstalk はこれらの注文をアウトプロセスで処理できます。

そうは言っても、あなたがこれをやりたいと想像できるユースケースの99%は、あなたが興味を持っていると私が想像する種類のタスク用に設計されているため、gimpよりもおそらくImageMagickの方が適切な選択になるでしょう.

于 2013-06-20T07:52:05.733 に答える
-3

次の記述は正しくないと言わざるを得ません。

「GIMP の Python 拡張機能は、GIMP インスタンス内から実行する必要があります。」

python gimpfu API を通じて公開されている機能を使用するために、gimp を実行する必要はありません。

任意の python プログラムでは、Linux の場合、次のようにするだけです。

import sys  
sys.path.append('/usr/lib/gimp/2.0/python/')  
import gimpfu  

ここで、「/usr/lib/gimp/2.0/python/」は gimp インストールへのパスです。

よろしく、カルロ。

于 2012-06-23T14:30:18.700 に答える