我正在使用Python-fu的gimp.pdb.gimp_paintbrush_default(图层,2,[10,10,20,20]),但无论我告诉它多少笔画,它只绘制第一个(x,y)(在这种情况下,(10,10))。它期待不同的格式吗?该函数的文档不适用于Python插件,只是说第三个参数需要一个FLOATARRAY类型的变量。我假设Python版本在这里使用了一个列表,但它似乎没有在前两个之后的任何值中展望。如何让它绘制多个控制点?
答案 0 :(得分:1)
您传递的第二个参数 - 在本例中为“2”表示GIMP中以下参数中列表的长度 - 尽管在Python中编码时我们使用被调用函数找不到长度的问题在列表中,GIMP Python脚本中的这些调用是针对其他几种语言的GIMP API的1:1映射,并且是用C语言编写的。
在C中,除非显式传递,否则无法知道传递的数组的长度,因此需要此参数。
尝试这样做:
points = [10,10, 20,20]
pdb.gimp_paintbrush_default(layer, len(points), points)