2024-05-18 07:34:42 发布
网友
我正在用python构建一个Gimp插件。我想在内存中加载一个层,基于一个文件,然后将其添加到多个图像中(从而避免从文件加载时间)。在
我在文档中找不到这样做的任何东西:all函数将层添加到一个特定的图像中(所以我每次都必须从文件加载,这是我试图避免的)。在
有解决办法吗?在
我考虑过的一个解决方案是将图层加载到“模板图像”中,然后将其复制到其他图像中。问题是我找不到一个函数来将图层从一个图像复制到另一个图像。在
我认为最简单的方法是通过PDB使用“复制”和“粘贴”—
pdb.gimp_edit_copy (original_layer) floating = pdb.gimp_edit_paste (target_layer)
(其中目标层是另一个图像上的层)。在
这会创建一个“浮动选择”,就像交互式地做同样的事情一样。 要使浮动选择覆盖目标层的内容,请执行以下操作:
或将其升级到新层,其中包含粘贴的内容:
pdb.gimp_floating_sel_to_layer(float)
作为一个附加说明sinc GIMP 2.6,有一个快捷方式可以在源代码之外没有记录AFAIK的图像上创建新层-图像对象上的方法new_layer。在
new_layer
在不带参数的情况下调用,它确实会创建一个与图像大小相同的新透明层。这个快捷方式相当方便,因为创建层的“pdb方式”是frits创建层,有很多强制参数,然后另一个调用将其添加到图像中。在
我认为最简单的方法是通过PDB使用“复制”和“粘贴”—
(其中目标层是另一个图像上的层)。在
这会创建一个“浮动选择”,就像交互式地做同样的事情一样。 要使浮动选择覆盖目标层的内容,请执行以下操作:
^{pr2}$或将其升级到新层,其中包含粘贴的内容:
作为一个附加说明sinc GIMP 2.6,有一个快捷方式可以在源代码之外没有记录AFAIK的图像上创建新层-图像对象上的方法
new_layer
。在在不带参数的情况下调用,它确实会创建一个与图像大小相同的新透明层。这个快捷方式相当方便,因为创建层的“pdb方式”是frits创建层,有很多强制参数,然后另一个调用将其添加到图像中。在
相关问题 更多 >
编程相关推荐