有没有办法使用python将过滤器从一层复制到另一层

有没有办法使用python将过滤器从一层复制到另一层,python,gimp,python-fu,Python,Gimp,Python Fu,我使用的是python fu,我想将我添加到一个层的过滤器iwarp复制到我刚刚添加到文档的另一个层 我的代码: document = gimp.image_list()[0] layer_with_filter = document.layers[0] layer_without_filter = document.layers[3] 我找不到一种方法来查看使用: dir(layer_with_filter) 如果有一个效果或过滤器添加到该层,是否有可能知道这一点,或者过滤器的变化是否发生

我使用的是python fu,我想将我添加到一个层的过滤器iwarp复制到我刚刚添加到文档的另一个层

我的代码:

document = gimp.image_list()[0]
layer_with_filter = document.layers[0]
layer_without_filter = document.layers[3]
我找不到一种方法来查看使用:

dir(layer_with_filter)
如果有一个效果或过滤器添加到该层,是否有可能知道这一点,或者过滤器的变化是否发生在其他地方


谢谢不,那是不可能的

通过Python,您可以使用在Python端设置的任意值执行几乎所有过滤器。但是,无法告诉GIMP使用以前的值重复一个过滤器,也无法在Python端检索过滤器操作中使用的值

I-Warp甚至不能以编程的方式使用,因为它依赖于与插件窗口的实时交互来创建失真贴图-哦,你在那里运气不好

但是,使用“IWarp”插件可以完成的任何事情都可以使用“置换”插件(检查
过滤器->映射->置换…
)完成,该插件可以编程使用,并且您可以使用Python将一个置换应用程序的效果应用到其他层。但是,“置换”需要两个中间层,指示原始图像上每个像素使用的偏移量。这两个层组合为二维场,其中每个像素的值(~其亮度)指示目标像素将放置的偏移的一个坐标。在内部,这就是IWarp所做的-然而,置换贴图本身是由其“内部工具”创建的,如生长、收缩、移动…-而且没有编程方式检索IWarp使用的置换贴图,以便将其粘贴到一个层中并与置换过滤器一起使用。但如果您真的需要此功能,这可能是最简单的方法:修改的源代码(C)以添加一个按钮“保存置换贴图”,这样可以创建两个适合置换过滤器使用的新层

回到以编程方式重复其他过滤器的主题:GIMP-GIMP 2.9的开发分支已将大多数过滤器切换到使用GEGL(通用图形库)的全新框架,GEGL是GIMP中所有像素操作的新引擎。但是,Python绑定尚未更新,无法利用这些新过滤器。当它们最终出现时,很可能会出现一个调用来检索最后使用的值

而且,同样特别是对于IWarp,过滤器在开发版本中被提升为完全交互的工具,并且没有机制检索工具与一层交互的结果,以“重放”另一层