From e8f03c4d6a94aa16b3587bdce525cf0cf7c6c6c3 Mon Sep 17 00:00:00 2001 From: Daniel Weipert Date: Tue, 14 Jan 2025 14:38:52 +0100 Subject: next commit --- ui/bmp_texture.gd | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'ui/bmp_texture.gd') diff --git a/ui/bmp_texture.gd b/ui/bmp_texture.gd index 54bf37b..8a90983 100644 --- a/ui/bmp_texture.gd +++ b/ui/bmp_texture.gd @@ -3,17 +3,23 @@ extends ImageTexture static func from_texture(texture: Texture2D, background_colors: Array[Color]) -> ImageTexture: - var image: Image = texture.get_image() - image.convert(Image.FORMAT_RGBA8) - - for x in image.get_width(): - for y in image.get_height(): - for color in background_colors: - if image.get_pixel(x, y).is_equal_approx(color): - image.set_pixel(x, y, Color.TRANSPARENT) - break + 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 -- cgit v1.2.3