我如何在 gimp python-fu 中使用我当前的画笔大小进行绘制?

How can I draw with my current brush size in gimp python-fu?

我正在编写一个 GIMP python-fu 脚本,它基本上只是在当前层上绘制一个黑色圆圈,填充该层。我遇到的问题是 gimp_pencil() 继续使用默认画笔大小,即使在 gimp_context_set_brush_size() 将活动画笔大小设置为图像大小后(当我 运行来自 GIMP 的脚本,画笔大小滑块更改为图层的宽度,但所做的标记仍保持默认值 50x50) 这是我的代码:

def Circle(image, tdrawable):
    layer  = image.active_layer
    width  = tdrawable.width
    height = tdrawable.height
    pdb.gimp_context_set_brush_size(width)
    pdb.gimp_pencil(layer,2,(width/2,height/2))

我做错了什么?

这似乎在 GIMP 的当前开发版本(从 GIT master 编译)中工作 - 如果您在最新的 GIMP 稳定版 (2.8.14) 上挂起此行为,您遇到了程序错误.

然而,这是一种画圆的 hacky 方法,即使它有效(如果你想将它用于其他画笔而不是圆形画笔,那没问题) - 但对于圆,你应该改为: 1) 以图像中心为中心,半径为 min(width, layer)/2 的椭圆选区 2) 填写选择。