1

在 GIMP 界面上,您可以“导出为 PNG”来保存您作品的 PNG 副本,并正确合并图层。然而,在 Script-Fu 中,如果

   (let*
    (
     (
      theMergedLayer
      (car (gimp-image-merge-visible-layers theImage EXPAND-AS-NECESSARY))
     )
    )
    (file-png-save-defaults RUN-NONINTERACTIVE theImage theMergedLayer "myfile.png" "myfile.png")
   )

碰巧不能继续单独编辑图层。

我需要将可见的保存为 PNG,但继续在 Script-Fu 中对分离的图层进行编辑。

你能帮忙吗?

谢谢

4

1 回答 1

1

做到这一点的方法 - 这是 PNG 导出插件本身在内部执行的方式 - 是在展平图像之前创建图像的内部副本。为此,只需调用gimp-image-duplicate,并在该调用返回的图像副本上应用 merge-visible-layers 和 file-*-save 。

保存后,使用 gimp-image-delete 删除新创建的图像 - 否则副本将继续在内存中退出,没有关联的显示(即根本没有在图形界面上显示)。

这个副本在内存和 CPU 方面可能看起来“昂贵”,但它根本不是:GIMP 保留对原始图像底层像素的引用,直到这些像素被更改 - 在这种情况下,唯一所做的更改是调用 do merge-layers,然后创建一个无论如何都必须创建的新层。

于 2013-03-25T10:06:18.913 回答