4
我遇到問題,通過GIMP將圖像保存在python中。我可以得到圖像並應用我想要的效果,但是當我去保存時,它只保存一層而不是一切(注意:背景是透明的),並且因爲背景是透明的,所以我不能保存它透明的背景。我使用的代碼下面貼:GIMP Python-fu導出文件只導出透明圖層
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
我也曾嘗試file_png_save2
,但我有一種感覺,問題就出在DRW對象我只是想複製一下文件 - >導出的選項並保存爲PNG,而不通過GUI進行。我寧願讓它自動保存(我有49個圖像,每個會自動命名,但首先我需要得到它與一個圖像正確導出)。正如我之前所說的,上面的代碼只導出了一個透明背景,即使更改爲GIF也不能解決問題。如何在保留所有圖層和透明背景的同時將文件作爲PNG導出?
合併所有圖層是做到這一點 - 但你只需要在情況下,如在你的,在圖像是「一次性」 - 合併圖層後有不會返回(GIMP中沒有呼叫「撤消」)。通常的方法是調用'pdb.gimp_image_duplicate',並在副本中執行圖層合併。 – jsbueno 2013-03-19 03:57:52