我正在使用 Python-fu 的 gimp.pdb.gimp_paintbrush_default(layer, 2, [10,10, 20,20]),但无论我告诉它画多少笔画,它只会画第一个 (x,y )(在本例中为 (10,10))。它期待不同的格式吗?该函数的文档不适用于 Python 插件,只是说第三个参数需要一个 FLOATARRAY 类型的变量。我假设 Python 版本在这里使用了一个列表,但它似乎没有展望前两个之后的任何值。我怎样才能让它绘制多个控制点?
问问题
980 次
1 回答
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 回答