GIMPを介してPythonで画像を保存する際に問題が発生します。画像を取得して必要な効果を適用することはできますが、保存しようとすると、すべてではなく1つのレイヤーしか保存されません(注:背景は透明です)。背景が透明であるため、それ以外のものを保存することはできません。透明な背景。私が使用しているコードは以下に掲載されています:
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
私も試しましたが、GUIを介さずに、[ファイル]- > [エクスポートfile_png_save2
]をクリックしてPNGとして保存するオプションを複製したいだけなので、問題はdrwオブジェクトにあると感じています。自動的に保存したいのですが(49枚の画像があり、それぞれに自動的に名前が付けられますが、最初に1枚の画像で正しくエクスポートする必要があります)。前に述べたように、上記のコードは透明な背景のみをエクスポートし、GIFに変更しても問題は解決しません。すべてのレイヤーと透明な背景を維持したまま、ファイルをPNGとしてエクスポートするにはどうすればよいですか?