class_name BMPTexture extends ImageTexture static func from_texture(texture: Texture2D, background_colors: Array[Color]) -> ImageTexture: var image: Image = convert_image(texture.get_image(), background_colors) var image_texture := ImageTexture.new() image_texture.set_image(image) return image_texture static func convert_image(image: Image, background_colors: Array[Color]) -> Image: var converted_image := image.duplicate() converted_image.convert(Image.FORMAT_RGBA8) for x in converted_image.get_width(): for y in converted_image.get_height(): for color in background_colors: if converted_image.get_pixel(x, y).is_equal_approx(color): converted_image.set_pixel(x, y, Color.TRANSPARENT) break return converted_image