Godot通过全局路径加载图片为纹理失败(纹理尺寸为(0,0))的问题求助
Godot通过全局路径加载图片为纹理失败(纹理尺寸为(0,0))的问题求助
各位Godot大佬好!我最近碰到个头疼的问题:我需要从外部全局路径加载一张图片作为TextureRect的纹理,这张图片不会被打包进程序的exe_name.pck文件里,但用自己写的代码加载后,纹理尺寸一直显示为(0,0),完全没法正常使用。
先贴一下我目前的代码:
var img = Image.new() var texture = ImageTexture.new() var file: FileAccess = FileAccess.open(lang_path + "logo.png", FileAccess.READ) img.load_png_from_buffer(file.get_buffer(file.get_length())) file.close() print(lang_path + "logo.png") texture.create_from_image(img) print(texture.get_size())
补充说明一下:
lang_path是目标文件夹的全局路径,比如E:/langs/gaydot/zero/langs/- 编译程序后,这张图片不会被打包进
exe_name.pck,是外部独立的文件
现在运行代码后,打印出来的内容是这样的:
E:/langs/gaydot/zero/langs/Python/logo.png
(0, 0)
可以看到图片路径是完全正确的,但纹理的尺寸始终是(0,0),说明加载没成功。如果我换成icon.texture = load(task.lang.img)这种方式,只要图片在pck包里就能正常显示,但现在图片是外部的,没法用这个方法。
有没有大佬能帮我看看这段代码哪里出问题了?或者有没有正确的方式加载外部路径的图片为可用的纹理?
备注:内容来源于stack exchange,提问作者Alexandr
相关产品推荐
相关产品推荐

