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

标签 python gimp python-fu

我正在编写一个 GIMP python-fu 脚本,它本质上只是在当前图层上绘制一个黑色圆圈,填充该图层。我遇到的问题是,即使在 gimp_context_set_brush_size() 将事件画笔大小设置为图像大小之后,gimp_pencil() 仍继续使用默认画笔大小(当我从 GIMP 运行脚本时,画笔大小 slider 更改为图层的宽度,但所做的标记仍保留默认的 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) 上,那么您就遇到了程序错误。

但是,这是一种绘制圆形的奇怪方法,即使它有效(如果您想将它用于其他画笔而不是圆形画笔,那么也可以) - 但对于圆形,您应该: 1) 以图像中心为中心,半径为 min(width, layer)/2 的椭圆选区 2) 填写选区。

关于python - 如何在 gimp python-fu 中使用当前画笔大小进行绘制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31506620/

相关文章:

python - 在从元类调用的类方法中调用 `super`.__new__

python - 简单函数错误

python - 如何将日期格式 "dd/mm/yy"转换为 "yy/mm/dd"以用于mysql数据库插入?

visual-studio-2010 - 如何使用 Visual Studio 构建 GIMP 插件?

gimp - python-fu 选择复制粘贴

python - 使用 glom 将字典列表的字段提取到新字典中

Python 图像与 numpy 切片的卷积在某些图像上产生奇怪的结果

opencv - 使用 OpenCV 复制 Gimp 的颜色->反转操作

python - gimp python 插件 : how to trigger another user input

python - 关闭当前文件/ View /显示而不保存或被要求这样做