我正在尝试使用Gimp自动完成绘制线条的任务。
所以到目前为止,我尝试了脚本功能并没有运气。
>>>from pprint import pprint
>>>img = gimp.Image(200, 200, RGB)
>>>pprint (pdb.gimp_pencil.params)
((16, 'drawable', 'The affected drawable'),
(0,
'num-strokes',
'Number of stroke control points (count each coordinate as 2 points) (num-strokes >= 2)'),
(8,
'strokes',
'Array of stroke coordinates: { s1.x, s1.y, s2.x, s2.y, ..., sn.x, sn.y }'))
>>>pdb.gimp_pencil(img, 4, [0,0,200,200] )
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: wrong parameter type
我找不到任何在Python中为Gimp传递矢量(笔画坐标数组)的例子
这里有什么问题?
答案 0 :(得分:1)
好吧我的错误,我认为TypeError在最后一个数组参数上。碰巧img
不是drawable,因此是TypeError。
你必须:
然后,只有您可以在gimp_pencil()
方法中使用此drawable。
img = gimp.Image(200, 200, RGB)
layer = gimp.Layer(img, "Test", 200, 200, RGBA_IMAGE, 100, NORMAL_MODE)
img.add_layer(layer, -1)
pdb.gimp_image_set_active_layer(img, layer)
draw = pdb.gimp_image_get_active_drawable(img)
pdb.gimp_pencil(draw, 4, [0,0,100,100])
disp1 = gimp.Display(img)