不,那是不可能的。
您可以通过 Python 使用您在 Python 端放置的任意值执行几乎所有过滤器。但是没有办法告诉 GIMP 使用以前的值重复过滤器,或者检索 Python 端过滤器操作中使用的值。
特别是 I-Warp 甚至不能以编程方式使用,因为它依赖于与插件窗口的实时交互来创建失真图 - o 你在那里不走运。
但是,可以使用“IWarp”插件完成的任何事情都可以使用“Displace”插件(检查Filters->Map->Displace...
)来完成可通过编程方式使用,您可以使用 Python 将一种置换应用的效果应用到其他层。但是,“置换”需要两个中间层来指示要用于原始图像上每个像素的偏移量。这两个层组合成一个 2D 字段,其中每个像素的值(~其亮度)表示将放置目标像素的偏移量的一个坐标。在内部,这就是 IWarp 所做的——然而,置换贴图本身是由其“内部工具”创建的,例如增长、收缩、移动......——并且没有编程方式来检索 IWarp 使用的置换贴图,因此它可以粘贴在 ayer 中并与置换过滤器一起使用。但是如果你真的需要这个功能,那可能是最简单的方法:修改源代码(用 C 语言)IWarp 过滤器添加一个按钮来“保存置换贴图” - 它可以创建两个适合置换过滤器使用的新层。
回到以编程方式重复其他过滤器的主题:GIMP 的开发分支 - GIMP 2.9 已将大多数过滤器切换到使用 GEGL(通用图形库)的全新框架 - GIMP 中所有像素操作的新引擎。但是,Python 绑定尚未更新,无法利用这些新过滤器。当它们最终存在时,很可能可以调用检索最后使用的值。
并且,再次专门针对 IWarp,过滤器在开发版本中已被提升为完全交互的工具,并且没有机制可以检索工具与某一层的交互结果以“重播”另一层的结果。