ImageTexture
Наследует: Texture2D < Texture < Resource < RefCounted < Object
Описание
Texture2D на основе Image. Для отображения изображения, необходимо создать ImageTexture с помощью метода create_from_image():
var image = Image.load_from_file("res://icon.svg")
var texture = ImageTexture.create_from_image(image)
$Sprite2D.texture = texture
Таким образом, текстуры можно создавать во время выполнения, загружая изображения как из редактора, так и извне.
Предупреждение: Предпочтительнее загружать импортированные текстуры с помощью @GDScript.load(), чем загружать их из файловой системы динамически с помощью Image.load(), так как это может не работать в экспортированных проектах:
var texture = load("res://icon.svg")
$Sprite2D.texture = texture
Это связано с тем, что изображения сначала должны быть импортированы как CompressedTexture2D, чтобы быть загруженными с помощью @GDScript.load(). Если вы все равно хотите загрузить файл изображения, как и любой другой Resource, импортируйте его как ресурс Image, а затем загрузите его обычным образом с помощью метода @GDScript.load().
Примечание: Изображение можно получить из импортированной текстуры с помощью метода Texture2D.get_image(), который возвращает копию изображения:
var texture = load("res://icon.svg")
var image = texture.get_image()
ImageTexture не предназначен для управления из интерфейса редактора напрямую и в основном полезен для динамического рендеринга изображений на экране с помощью кода. Если вам нужно создавать изображения процедурно из редактора, рассмотрите возможность сохранения и импорта изображений в качестве пользовательских ресурсов текстур, реализующих новый EditorImportPlugin.
Примечание: Максимальный размер текстуры составляет 16384×16384 пикселей из-за ограничений графического оборудования.
Обучающие материалы
Свойства
resource_local_to_scene |
|
Методы
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.
Возвращает формат текстуры.
void set_image(image: Image) 🔗
Заменяет данные текстуры новым Image. Это перераспределит новую память для текстуры.
Если вы хотите обновить изображение, но не хотите менять его параметры (формат, размер), используйте update() для лучшей производительности.
void set_size_override(size: Vector2i) 🔗
Изменяет размер текстуры до указанных размеров.
Заменяет данные текстуры новым Image.
Примечание: Текстуру необходимо создать с помощью create_from_image() или сначала инициализировать с помощью метода set_image(), прежде чем ее можно будет обновить. Новые размеры изображения, формат и конфигурация mip-карт должны соответствовать конфигурации изображения существующей текстуры.
Используйте этот метод set_image(), если вам нужно часто обновлять текстуру, что быстрее, чем выделять дополнительную память для новой текстуры каждый раз.