2012-03-07 11 views
1

私はPython-fuのgimp.pdb.gimp_paintbrush_default(レイヤー、2、[10,10,20,20])を使用していますが、塗りつぶす筆数に関わらず、最初の塗りつぶし(x 、y)(この場合、(10,10))。それは別のフォーマットを期待していますか?関数のドキュメントはPythonプラグイン用ではなく、単に第3引数にFLOATARRAY型の変数が必要であると言います。私はPythonのバージョンではここでリストを使用していると仮定していますが、最初の2つの値の後にはどの値も先読みしていないようです。複数のコントロールポイントをペイントするにはどうすればよいですか?Python-fuでGimpにストロークをペイントする方法は?

答えて

1

あなたが渡す2番目のパラメータ - この場合 "2"は、GIMPに次のパラメータの長さを示します。ただし、Pythonでコーディングするときは、呼び出された関数がGIMP Pythonスクリプティングのこれらの呼び出しは、他のいくつかの言語のGIMP APIへの1:1マッピングであり、C言語で書かれています。

Cでは、Cの長さを知る方法はありません。配列が渡されます。明示的に渡されない限り、このパラメータが必要です。

は、代わりにこれをやってみてください。

points = [10,10, 20,20] 
pdb.gimp_paintbrush_default(layer, len(points), points) 
+0

ああ、理にかなって...素晴らしいです!それは完全に動作します。ありがとう=) – derefed

関連する問題