相关疑难解决方法(0)

GIMP Python-fu 导出文件只导出透明层

我在通过 GIMP 在 python 中保存图像时遇到问题。我可以获得图像并应用我想要的效果,但是当我去保存时,它只保存一层而不是所有内容(注意:背景是透明的)并且因为背景是透明的,所以我无法保存任何东西透明背景。我正在使用的代码发布在下面:

image_array = gimp.image_list()
i=0
for image in image_array:
    img = image_array[i]
    layers = img.layers
    last_layer = len(layers)-1
    try:
        disable=pdb.gimp_image_undo_disable(img)
        pdb.gimp_layer_add_alpha(layers[0])
        drw = pdb.gimp_image_active_drawable(img)
        pdb.plug_in_colortoalpha(img,drw,(0,0,0))
        drw = pdb.gimp_image_active_drawable(img)
        enable = pdb.gimp_image_undo_enable(img)

    except:
        print "ERROR"

    pdb.file_png_save(img, drw, "C:\\Users\\jammer\\Desktop\\test.png",
                      "test.png",0,9,1,1,1,1,1)
    i+=1
Run Code Online (Sandbox Code Playgroud)

我也尝试过file_png_save2,但我感觉问题出在 drw 对象中,因为我只想复制单击文件->导出并另存为 PNG的选项,而无需通过 GUI 执行此操作。我宁愿让它自动保存(我有 49 个图像,每个图像都会自动命名,但首先我需要让它用一张图像正确导出)。正如我之前所说,上面的代码只导出透明背景,即使更改为 GIF 也不能解决问题。如何在保留所有图层和透明背景的同时将文件导出为 PNG?

scripting gimp save-image python-fu

5
推荐指数
1
解决办法
3130
查看次数

标签 统计

gimp ×1

python-fu ×1

save-image ×1

scripting ×1