在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中进行编辑。
你可以帮忙吗?由于
答案 0 :(得分:1)
这样做的方式 - 这是PNG导出插件本身在内部执行的方式 - 是在展平之前创建图像的内部副本。要做到这一点,只需调用gimp-image-duplicate
,然后应用merge-visible-layers和file - * - 保存在该调用返回的图像副本上。
保存后,使用gimp-image-delete删除新创建的图像 - 否则副本将继续退出内存,没有关联的显示(即根本没有在图形界面上显示)。
这个副本在内存和CPU术语中可能看起来“昂贵”,但它根本不存在:GIMP会保留对原始图像底层像素的引用,直到这些像素发生变化 - 这是唯一的变化,在这种情况下,调用do merge-layers,然后创建一个新的层,无论如何都必须创建。