0

これが私の問題です。

環境

会社で画像処理を処理するシステム全体を構築しています。私たち は非常に若い (==> 限られた予算で非常に小さい) ため、コンピューターを持っていませ.psd.cr2
画像処理に専念。しかし、まだかなり多くの処理が必要です。だから私がしたことは次のとおりです:
私はNASをセットアップし、Photoshopを持っている会社の3台のコンピューターに小さな.AS3デーモンをインストールしました(.as3でそれを行うことができたのは残念です.
このプログラムは、cs5.1 の新しい「リモート接続」を使用して Photoshop を制御します。基本的に、プログラムは実行する作業があるかどうかをキューにチェックインし、必要な場合は .jsx ファイルを使用して注文を photoshop に送信します。
最後に、コンピューターでフォトショップを使用したい場合は、そのデーモンのフォトショップの使用を停止し、処理が必要な場合は再度アクティブにします。

問題

これは今のところ問題なく動作していますが、大きな問題があります。このシステムを経済的な理由で拡張するのは難しいです ==> Photoshop は無料ではありません! スケーラビリティが目的だったので、これは問題です...

だから私の考えは、Gimpを同じように使うことです。会社の新しいコンピューターには、gimp がインストールされ、それを制御するための小さな Python/C++ などのプログラムがインストールされます。

質問

gimp 2.6 (2.8!!!) がまだレイヤーセットをサポートしていないという事実を除いて、簡単なソケット接続を行うのに苦労しました!
プログラムAは、画像を処理するためにPythonスクリプトをGimpに送信するにはどうすればよいですか?

4

1 に答える 1

1

それは可能であり、難しいことではありません。GIMP内からできることとできないことは、GIMPのスクリプトAPIをチェックすることで確認できます<プロシージャルデータベースとして知られています - GIMP内から[ヘルプ]-> [プロシージャデータベース]に移動すると、利用可能な機能と使用法を確認できます。これらは "pdb" モジュールの Python で利用でき、関数名のダッシュをアンダースコアに置き換えます (最初の引数が "インタラクティブ/非インタラクティブである場合は常に、呼び出しから ti をまったく省略してください)。

最大の問題は、これらすべての機能が GIMP の実行中のインスタンス内から機能することです。GIMP の外部で実行されている Pytho から gimp、gimpfu、または pdb モジュールをインポートすると、エラーが発生します。

一方、GIMP の API に加えて、完全なPython 言語を自由に使用できます。標準のライブラリにあるすべてのものに加えて、インストールすることを選択したサードパーティのモジュールがすべて含まれています。

したがって、XML-RPC 呼び出しをリッスンし、テキスト メッセージを受信し、このメッセージをスクリプトとして "実行" するアプリケーションを作成できます (スクリプトの要求元が完全に信頼できる場合は、これを実行してください)。

GIMP 用の Python スクリプトを作成するのはやや難しい場合があります。Gimp->filters->Python->console メニュー内から Python コンソールを使用して操作し、他の場所でドキュメントと例を確認することをお勧めします (http://stackoverflow.com/questions /tagged/gimp+python ) で、これらのスクリプトがどのように実行されるかについて説明します。一方、GIMP プラグイン内から実行するために Python を使用して xml-rpc サーバーを作成するのは簡単なことであり、公式の Python ドキュメントでさえ例を示すことができます: http://docs.python.org/ライブラリ/simplexmlrpcserver.html

「xml-rpc スクリプト サーバー」を GIMP-Python プラグインとして作成し、コマンド ラインなどで GIMP を起動しgimp -i -b (python-fu-myserverplugin ) て実行する必要があります。

于 2012-01-27T01:34:20.123 に答える