make image background transparent

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By AiTechEye

i have a viewport node where transparent_bg = true

var img = get_node("viewport").get_viewport().get_texture().get_data()

the viewport texture background are transparent in the editor, but black when its saved.
any idea?

Have you checked the texture data to see whether it has alpha data?

Ertain | 2020-02-24 00:32

Got it, i had to convert the format

AiTechEye | 2020-02-24 07:34

:bust_in_silhouette: Reply From: Error7Studios

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()


:bust_in_silhouette: Reply From: AiTechEye