ImageTexture

Наследует: Texture2D < Texture < Resource < RefCounted < Object

Texture2D на основе Image.

Описание

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 пикселей из-за ограничений графического оборудования.

Обучающие материалы

Свойства

bool

resource_local_to_scene

false (overrides Resource)

Методы

ImageTexture

create_from_image(image: Image) static

Format

get_format() const

void

set_image(image: Image)

void

set_size_override(size: Vector2i)

void

update(image: Image)


Описания метода

ImageTexture create_from_image(image: Image) static 🔗

Создает новый ImageTexture и инициализирует его, выделяя и устанавливая данные из Image.


Format get_format() const 🔗

Возвращает формат текстуры.


void set_image(image: Image) 🔗

Заменяет данные текстуры новым Image. Это перераспределит новую память для текстуры.

Если вы хотите обновить изображение, но не хотите менять его параметры (формат, размер), используйте update() для лучшей производительности.


void set_size_override(size: Vector2i) 🔗

Изменяет размер текстуры до указанных размеров.


void update(image: Image) 🔗

Заменяет данные текстуры новым Image.

Примечание: Текстуру необходимо создать с помощью create_from_image() или сначала инициализировать с помощью метода set_image(), прежде чем ее можно будет обновить. Новые размеры изображения, формат и конфигурация mip-карт должны соответствовать конфигурации изображения существующей текстуры.

Используйте этот метод set_image(), если вам нужно часто обновлять текстуру, что быстрее, чем выделять дополнительную память для новой текстуры каждый раз.