首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gimp python-fu如何选择多边形?

Gimp python-fu如何选择多边形?
EN

Stack Overflow用户
提问于 2016-09-22 14:01:31
回答 1查看 1.2K关注 0票数 3

问题

我需要在图像上进行数百次的多边形选择。为了提供帮助,我一直试图使用python控制台创建一个脚本,该脚本将以一种计算的方式(相同大小的区域、数百个不同的起点)完成此操作。我在Windows 10机器上使用GIMP2.8.18。

问题是函数pdb.gimp_image_select_polygon似乎不起作用。

代码

下面是我在python控制台中所要做的基本工作:

代码语言:javascript
复制
    theImage = gimp.image_list()[0]
    OP_ADD = 0
    POINT_COUNT = 5
    x = 0
    y = 0
    points = [0.0 for i in range(0,10)]
    points[0] = 64.0 + (128.0 * x)
    points[1] = 64.0 * y
    points[2] = 128.0 * x
    points[3] = 32.0 + (64.0 * y)
    points[4] = 64.0 + (128.0 * x)
    points[5] = 64.0 + (64.0 * y)
    points[6] = 128.0 + (128.0 * x)
    points[7] = 32.0 + (64.0 * y)
    points[8] = 64.0 + (128.0 * x)
    points[9] = 64.0 * y
    pdb.gimp_image_select_polygon(theImage, OP_ADD, POINT_COUNT, points)

当它运行时,什么都不会发生。OTOH,如果我使用另一个选择函数,我会得到一个选择:

代码语言:javascript
复制
    pdb.gimp_image_select_rectangle(theImage, 0, 64 ,0 ,128 ,32)

我使用gimp_image_select_polygon没有跟踪错误,所以我知道我有正确的参数数量和正确的参数类型。我尝试过各种各样的东西,但在网上找不到很多帮助。

有人看到我的代码出了问题吗,还是GIMP中的python引擎完全是fubar?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-23 06:44:38

长度参数是坐标的数目,而不是点的数目(所以,通常是双)。

OP_REPLACE在我的版本中没有定义。

对于100×100平方(100,100):

代码语言:javascript
复制
p=[100,100,100,200,200,200,200,100]
pdb.gimp_image_select_polygon(image, CHANNEL_OP_REPLACE,len(p),p)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39641231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档