VIEWPORT.get_texture().get_data()
returns an Image in the format, FORMAT_RGBAH
.
You can check this by using IMAGE.get_format()
It will return 15
, which is the enum value for IMAGE.FORMAT_RGBAH
When you save it with save_png()
, all the transparent pixels are black.
You can simply convert the image to FORMAT_RGBA8
, and then when you save it, it will preserve its transparency.
var my_img : Image = my_viewport.get_texture().get_data()
print(my_img.get_format())
my_img.convert(Image.FORMAT_RGBA8)
print(my_img.get_format())
my_img.flip_y()
my_img.save_png(my_path)