首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在gimp中用python创建一个图层?

问如何在gimp中用python创建一个图层?
EN

Stack Overflow用户
提问于 2021-10-05 07:34:22
回答 1查看 80关注 0票数 0

我想得到一个特定的层在gimp与python。

我有两层的图像。我找到了num_layers, layer_ids = pdb.gimp_image_get_layers(image)命令

当我运行该命令时,我得到了输出

代码语言:javascript
复制
num_layers = 2
layer_ids  = (5, 4)

我找到了命令layer = pdb.gimp_image_get_layer_by_name(image, name)和layer = pdb.gimp_image_get_layer_by_tattoo(image, tattoo)。

如何获取特定层?

EN

回答 1

Stack Overflow用户

发布于 2021-10-05 09:37:04

  • 如果你想确定你的脚本/插件应该在哪一层上工作,插件注册应该声明以PF_IMAGE和PF_DRAWABLE开头的参数。调用脚本时,这些属性将被设置为图像和活动图层。

  • 你也可以使用image.active_layer来检索活动层,但是这很危险,你的插件可能已经在一个遮罩或通道上被调用了,使用前面的方法通常是这样做的。在Python-fu控制台中尝试执行某些操作时,此方法有其用处。

  • 如果图层是在脚本中创建的,则该图层已由调用返回,因此请将其保存在变量中以便以后重新使用。

  • 对于特定的图层,它将取决于标准,你可以

代码语言:javascript
复制
- filter by name: `[l from image.layers if l.name='XXX'][0]`,
代码语言:javascript
复制
- filter on position in the stack:
代码语言:javascript
复制
    - `image.layers[0]` for the top,
    - `image.layers[-1]` for the "Background" at the bottom.
代码语言:javascript
复制
- You can also find the first visible or linked.

  • 如果要从之前的处理中检索某个层,可以对其进行“纹身”(pdb.gimp_item_set_tattoo(item, tattoo),其中tattoo是作为签名选取的整数),然后使用pdb.gimp_image_get_layer_by_tattoo(image, tattoo)在后续处理中检索该层)。纹身将被保存为图像的一部分,因此将在工作会议结束后继续存在。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69446459

复制
相关文章

相似问题

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