ImageTexture¶
继承: Texture2D < Texture < Resource < RefCounted < Object
描述¶
基于Image的Texture2D。要显示图像,必须使用create_from_image()方法从中创建ImageTexture:
var image=Image.load_from_file("res://icon.svg")
var texture=ImageTexture.create_from_image(image)
$Sprite2D.texture=texture
通过这种方式,可以在运行时从编辑器内部和外部加载图像来创建纹理。
警告:最好使用@S3Script.load()加载导入的纹理,而不是使用Image.load()从文件系统内部动态加载它们,因为这在导出项目中可能不起作用:
var texture=load("res://icon.svg")
$Sprite2D.texture=texture
这是因为图像必须作为CompressedTexture2D导入,然后才能使用@S3Script.load()加载。如果您仍然想像加载任何其他Resource一样加载图像文件,请将其作为Image资源导入,然后使用@S3Script.load()方法正常加载。
注意:可以使用Texture2D.get_image()方法从导入的纹理中检索图像,它返回图像的副本:
var texture=load("res://icon.svg")
var image=texture.get_image()
ImageTexture不打算直接在编辑器界面内操作,它主要用于通过代码在屏幕上动态渲染图像。如果需要从编辑器内按程序生成图像,请考虑将图像保存和导入为实现新EditorImportPlugin的自定义纹理资源。
注意:由于图形硬件的限制,最大纹理大小为16384×16384像素。
属性¶
方法¶
create_from_image(image: Image) static |
|
get_format() const |
|
void |
|
void |
set_size_override(size: Vector2i) |
void |
方法说明¶
ImageTexture create_from_image(image: Image) static 🔗
创建一个新的ImageTexture并通过分配和设置来自Image的数据来初始化它。
返回纹理的格式,Format之一。
void set_image(image: Image) 🔗
用新的Image替换纹理的数据。这将为纹理重新分配新内存。
如果您想更新图像,但不需要更改其参数(格式、大小),请改用update()以获得更好的性能。
void set_size_override(size: Vector2i) 🔗
将纹理调整为指定的尺寸。
用新的Image替换纹理的数据。
注意:纹理必须使用create_from_image()创建或首先使用set_image()方法初始化,然后才能更新。新的图像尺寸、格式和mipmap配置应与现有纹理的图像配置相匹配。
如果您需要频繁更新纹理,请在set_image()上使用此方法,这比每次为新纹理分配额外内存更快。