Python-fuのgimp.pdb.gimp_paintbrush_default(layer、2、[10,10、20,20])を使用していますが、ペイントするストロークの数に関係なく、最初の(x、y)のみをペイントします。 )(この場合、(10,10))。別のフォーマットを期待していますか?関数のドキュメントはPythonプラグイン用ではなく、3番目のパラメーターはFLOATARRAY型の変数を想定していると単純に述べています。Pythonバージョンはここでリストを使用していると思いますが、最初の2つ以降の値は先読みされていないようです。複数のコントロールポイントをペイントするにはどうすればよいですか?
1 に答える
2
渡す2番目のパラメーター(この場合は「2」は、次のパラメーターのリストの長さをGIMPに示します)。ただし、Pythonでコーディングする場合、呼び出された関数はリストの長さを見つけるのに問題がないことが使用されます。 、GIMP Pythonスクリプトでのこれらの呼び出しは、他のいくつかの言語のGIMP APIへの1:1マッピングであり、Cで記述されています。
Cでは、明示的に渡されない限り、渡された配列の長さを知る方法がないため、このパラメーターが必要です。
代わりにこれを試してください:
points = [10,10, 20,20]
pdb.gimp_paintbrush_default(layer, len(points), points)
于 2012-03-07T16:16:37.717 に答える