将图层从图像复制到另一个图层

2024-05-18 03:52:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python构建一个Gimp插件。我想在内存中加载一个层,基于一个文件,然后将其添加到多个图像中(从而避免从文件加载时间)。在

我在文档中找不到这样做的任何东西:all函数将层添加到一个特定的图像中(所以我每次都必须从文件加载,这是我试图避免的)。在

有解决办法吗?在

我考虑过的一个解决方案是将图层加载到“模板图像”中,然后将其复制到其他图像中。问题是我找不到一个函数来将图层从一个图像复制到另一个图像。在


Tags: 文件函数内存文档图像插件图层模板
1条回答
网友
1楼 · 发布于 2024-05-18 03:52:14

我认为最简单的方法是通过PDB使用“复制”和“粘贴”—

pdb.gimp_edit_copy (original_layer)

floating = pdb.gimp_edit_paste (target_layer)

(其中目标层是另一个图像上的层)。在

这会创建一个“浮动选择”,就像交互式地做同样的事情一样。 要使浮动选择覆盖目标层的内容,请执行以下操作:

^{pr2}$

或将其升级到新层,其中包含粘贴的内容:

pdb.gimp_floating_sel_to_layer(float)

作为一个附加说明sinc GIMP 2.6,有一个快捷方式可以在源代码之外没有记录AFAIK的图像上创建新层-图像对象上的方法new_layer。在

在不带参数的情况下调用,它确实会创建一个与图像大小相同的新透明层。这个快捷方式相当方便,因为创建层的“pdb方式”是frits创建层,有很多强制参数,然后另一个调用将其添加到图像中。在

相关问题 更多 >