在Gimp GUI中,QuickMask在很多方面都非常有用,但是这个功能似乎不能通过script-fu直接使用。在procedure browser中,我看不到明显的等价物。
特别是,将图层的(值/灰度)像素放入选择蒙版是我需要做的基本工作。我尝试使用gimp-image- get -selection来获取选择通道的id号,然后使用gimp-edit-paste到其中,但是下面的锚点操作导致Gimp崩溃。
发布于 2011-12-15 08:37:31
我的另一个答案包含了“理论上”的方法--然而,O.P.在2.6.5版本的GIMP中发现了一个bug,可以在对这个答案的评论中看到。
我为O.P.打算做的事情找到了一个变通办法:将给定图像层的内容粘贴到图像选择中。如上所述,在可绘制的选择上编辑-复制->编辑-粘贴会触发程序崩溃。
解决方法是通过复制和粘贴方法创建具有所需内容的新图像通道,然后使用gimp- selection load使所选内容等于通道内容:
需要调用的函数如下(我不会粘贴方案代码,因为我不精通所有的括号-我使用GIMP中的Python控制台进行了测试):
>>> img = gimp.image_list()[0]
>>> ch = pdb.gimp_channel_new(img, img.width, img.height, "bla", 0, (0,0,0))
>>> ch
<gimp.Channel 'bla'>
>>> pdb.gimp_edit_copy(img.layers[0])
1
>>> pdb.gimp_image_add_channel(img, ch, 0)
>>> fl = pdb.gimp_edit_paste(ch, 0)
> >> fl
<gimp.Layer 'Pasted Layer'>
>>> pdb.gimp_floating_sel_anchor(fl)
>>> pdb.gimp_selection_load(ch)发布于 2011-12-14 22:30:02
通过用户界面使用QuickMask完全等同于在选择项上绘制,将选择项视为可绘制对象。
因此,要在script上使用"quickmask“的等价物--所有人需要做的就是将选择作为一个可绘制的内容检索,并将其作为参数传递给将修改它的调用--要获得选择,只需调用'gimp-image- get - selection‘
https://stackoverflow.com/questions/8496389
复制相似问题