2
0
Эх сурвалжийг харах

Property convert images to RGBA before applying hq2x, fixes #5168

Juan Linietsky 9 жил өмнө
parent
commit
7a4d67ae71

+ 6 - 2
scene/resources/default_theme/default_theme.cpp

@@ -54,8 +54,10 @@ static Ref<StyleBoxTexture> make_stylebox(T p_src,float p_left, float p_top, flo
 
 		texture = Ref<ImageTexture>( memnew( ImageTexture ) );
 		Image img(p_src);
-		if (scale>1)
+		if (scale>1) {
+			img.convert(Image::FORMAT_RGBA);
 			img.expand_x2_hq2x();
+		}
 		texture->create_from_image( img,ImageTexture::FLAG_FILTER );
 		(*tex_cache)[p_src]=texture;
 	}
@@ -92,8 +94,10 @@ static Ref<Texture> make_icon(T p_src) {
 
 	Ref<ImageTexture> texture( memnew( ImageTexture ) );
 	Image img = Image(p_src);
-	if (scale>1)
+	if (scale>1) {
+		img.convert(Image::FORMAT_RGBA);
 		img.expand_x2_hq2x();
+	}
 	texture->create_from_image( img,ImageTexture::FLAG_FILTER );
 
 	return texture;

+ 1 - 1
tools/editor/icons/SCsub

@@ -65,7 +65,7 @@ def make_editor_icons_action(target, source, env):
 	s.write("static Ref<ImageTexture> make_icon(const uint8_t* p_png,const uint8_t* p_hidpi_png) {\n")
 	s.write("\tRef<ImageTexture> texture( memnew( ImageTexture ) );\n")
 	s.write("\tImage img((editor_is_hidpi()&&p_hidpi_png)?p_hidpi_png:p_png);\n")
-	s.write("\tif (editor_is_hidpi() && !p_hidpi_png) img.expand_x2_hq2x();\n")
+	s.write("\tif (editor_is_hidpi() && !p_hidpi_png) { img.convert(Image::FORMAT_RGBA); img.expand_x2_hq2x(); }\n")
 	s.write("\ttexture->create_from_image( img,ImageTexture::FLAG_FILTER );\n")
 	s.write("\treturn texture;\n")
 	s.write("}\n\n")