Image

Успадковує: Resource < RefCounted < Object

Тип зображення.

Опис

Нативний тип зображення. Містить дані зображень, які можуть бути перетворені на ImageTexture і забезпечує зазвичай використовується * Обробка зображень* методів. Максимальна ширина і висота Image є MAX_WIDTH і MAX_HEIGHT.

Image не може бути призначене для фактурного майна об'єкта безпосередньо (наприклад, Sprite2D.texture), і має бути перетворена вручну до ImageTexture.

Примітка: Максимальний розмір зображення 16384 × 16384 пікселів за рахунок графіки апаратних обмежень. Більші зображення можуть не імпортувати.

Посібники

Властивості

Dictionary

data

{ "data": PackedByteArray(), "format": "Lum8", "height": 0, "mipmaps": false, "width": 0 }

Методи

void

adjust_bcs(brightness: float, contrast: float, saturation: float)

void

blend_rect(src: Image, src_rect: Rect2i, dst: Vector2i)

void

blend_rect_mask(src: Image, mask: Image, src_rect: Rect2i, dst: Vector2i)

void

blit_rect(src: Image, src_rect: Rect2i, dst: Vector2i)

void

blit_rect_mask(src: Image, mask: Image, src_rect: Rect2i, dst: Vector2i)

void

bump_map_to_normal_map(bump_scale: float = 1.0)

void

clear_mipmaps()

Error

compress(mode: CompressMode, source: CompressSource = 0, astc_format: ASTCFormat = 0)

Error

compress_from_channels(mode: CompressMode, channels: UsedChannels, astc_format: ASTCFormat = 0)

Dictionary

compute_image_metrics(compared_image: Image, use_luma: bool)

void

convert(format: Format)

void

copy_from(src: Image)

Image

create(width: int, height: int, use_mipmaps: bool, format: Format) static

Image

create_empty(width: int, height: int, use_mipmaps: bool, format: Format) static

Image

create_from_data(width: int, height: int, use_mipmaps: bool, format: Format, data: PackedByteArray) static

void

crop(width: int, height: int)

Error

decompress()

AlphaMode

detect_alpha() const

UsedChannels

detect_used_channels(source: CompressSource = 0) const

void

fill(color: Color)

void

fill_rect(rect: Rect2i, color: Color)

void

fix_alpha_edges()

void

flip_x()

void

flip_y()

Error

generate_mipmaps(renormalize: bool = false)

PackedByteArray

get_data() const

int

get_data_size() const

Format

get_format() const

int

get_height() const

int

get_mipmap_count() const

int

get_mipmap_offset(mipmap: int) const

Color

get_pixel(x: int, y: int) const

Color

get_pixelv(point: Vector2i) const

Image

get_region(region: Rect2i) const

Vector2i

get_size() const

Rect2i

get_used_rect() const

int

get_width() const

bool

has_mipmaps() const

bool

is_compressed() const

bool

is_empty() const

bool

is_invisible() const

void

linear_to_srgb()

Error

load(path: String)

Error

load_bmp_from_buffer(buffer: PackedByteArray)

Error

load_dds_from_buffer(buffer: PackedByteArray)

Image

load_from_file(path: String) static

Error

load_jpg_from_buffer(buffer: PackedByteArray)

Error

load_ktx_from_buffer(buffer: PackedByteArray)

Error

load_png_from_buffer(buffer: PackedByteArray)

Error

load_svg_from_buffer(buffer: PackedByteArray, scale: float = 1.0)

Error

load_svg_from_string(svg_str: String, scale: float = 1.0)

Error

load_tga_from_buffer(buffer: PackedByteArray)

Error

load_webp_from_buffer(buffer: PackedByteArray)

void

normal_map_to_xy()

void

premultiply_alpha()

void

resize(width: int, height: int, interpolation: Interpolation = 1)

void

resize_to_po2(square: bool = false, interpolation: Interpolation = 1)

Image

rgbe_to_srgb()

void

rotate_90(direction: ClockDirection)

void

rotate_180()

Error

save_dds(path: String) const

PackedByteArray

save_dds_to_buffer() const

Error

save_exr(path: String, grayscale: bool = false) const

PackedByteArray

save_exr_to_buffer(grayscale: bool = false) const

Error

save_jpg(path: String, quality: float = 0.75) const

PackedByteArray

save_jpg_to_buffer(quality: float = 0.75) const

Error

save_png(path: String) const

PackedByteArray

save_png_to_buffer() const

Error

save_webp(path: String, lossy: bool = false, quality: float = 0.75) const

PackedByteArray

save_webp_to_buffer(lossy: bool = false, quality: float = 0.75) const

void

set_data(width: int, height: int, use_mipmaps: bool, format: Format, data: PackedByteArray)

void

set_pixel(x: int, y: int, color: Color)

void

set_pixelv(point: Vector2i, color: Color)

void

shrink_x2()

void

srgb_to_linear()


Переліки

enum Format: 🔗

Format FORMAT_L8 = 0

Формат тексту з односторонньою шириною 8-біту, що представляє просвіт.

Format FORMAT_LA8 = 1

OpenGL формат текстури з двома значеннями, luminance і alpha кожен, що зберігається з 8 біт.

Format FORMAT_R8 = 2

OpenGL формат текстури RED з одним компонентом і трохи глибиною 8.

Format FORMAT_RG8 = 3

Формат текстури OpenGL RG з двома компонентами і трохи глибиною 8 для кожного.

Format FORMAT_RGB8 = 4

Формат текстури OpenGL RGB з трьома компонентами, кожен з трохи глибиною 8.

Примітка: При створенні ImageTexture виконується sRGB до лінійного перетворення простору.

Format FORMAT_RGBA8 = 5

OpenGL формат текстури RGBA з чотирма компонентами, кожен з трохи глибиною 8.

Примітка: При створенні ImageTexture виконується sRGB до лінійного перетворення простору.

Format FORMAT_RGBA4444 = 6

OpenGL формат текстури RGBA з чотирма компонентами, кожен з трохи глибиною 4.

Format FORMAT_RGB565 = 7

Формат текстури OpenGL RGB з трьома компонентами. Червоні і сині мають трохи глибиною 5, а зелений має трохи глибиною 6.

Format FORMAT_RF = 8

Формат текстури OpenGL GL_R32F, де є один компонент, 32-bit, плаваючі точки значення.

Format FORMAT_RGF = 9

Формат текстури OpenGL GL_RG32F де є два компоненти, кожен 32-bit плаваючі значення точки.

Format FORMAT_RGBF = 10

Формат текстури OpenGL GL_RGB32F де є три компоненти, кожен 32-bit плаваючі значення точки.

Format FORMAT_RGBAF = 11

Формат текстури OpenGL GL_RGBA32F де є чотири компоненти, кожен 32-bit плаваючі значення точки.

Format FORMAT_RH = 12

Формат текстури OpenGL GL_R16F де є один компонент, 16-bit "half-precision" плавно-точкове значення.

Format FORMAT_RGH = 13

Формат текстури OpenGL GL_RG16F де є два компоненти, кожен 16-bit "half-precision" плавно-точкове значення.

Format FORMAT_RGBH = 14

Формат текстури OpenGL GL_RGB16F де є три компоненти, кожен 16-bit "half-precision" плавно-точкове значення.

Format FORMAT_RGBAH = 15

Формат текстури OpenGL GL_RGBA16F де є чотири компоненти, кожен 16-bit "half-precision" плаваюча точка значення.

Format FORMAT_RGBE9995 = 16

Особливий формат OpenGL текстури, де три компоненти кольору мають 9 біт точності і всі три діляться один 5-бітний експонент.

Format FORMAT_DXT1 = 17

S3TC фактурний формат, який використовує Block Compression 1, і є найменшою варіацією S3TC, тільки забезпечує 1 біт альфа та кольорові дані, які премультуються з альфа.

Примітка: При створенні ImageTexture виконується sRGB до лінійного перетворення простору.

Format FORMAT_DXT3 = 18

S3TC фактурний формат, який використовує Block Compression 2, а дані кольору інтерпретуються як не було передано альфа. Добре підходить для зображень з гострими альфа-перехідами між напівпрозорими і непрозорими зонами.

Примітка: При створенні ImageTexture виконується sRGB до лінійного перетворення простору.

Format FORMAT_DXT5 = 19

S3TC фактурний формат також відомий як Block Compression 3 або BC3, який містить 64 біти альфа-каналу даних, які слідують 64 бітам DXT1-encoded кольорових даних. Кольорові дані не преmultiplied від alpha, як і DXT3. DXT5, як правило, виробляє чудові результати для прозорих градієнтів порівняно з DXT3.

Примітка: При створенні ImageTexture виконується sRGB до лінійного перетворення простору.

Format FORMAT_RGTC_R = 20

Формат Текстури, який використовує Red Green Texture Compression, нормалізуючи дані каналу за допомогою алгоритму стиснення, який використовує DXT5 для альфа-каналу.

Format FORMAT_RGTC_RG = 21

Формат Текстури, який використовує Red Green Texture Compression, нормалізує дані червоної та зеленої каналу за допомогою алгоритму стиснення, який DXT5 використовує для альфа-каналу.

Format FORMAT_BPTC_RGBA = 22

Формат Текстури, який використовує BPTC стиснення з непризначеними нормованими компонентами RGBA.

Примітка: При створенні ImageTexture виконується sRGB до лінійного перетворення простору.

Format FORMAT_BPTC_RGBF = 23

Формат тексту, який використовує BPTC стиснення з підписаними компонентами RGB.

Format FORMAT_BPTC_RGBFU = 24

Формат Текстури, який використовує BPTC стиснення з не позначеними компонентами RGB.

Format FORMAT_ETC = 25

Ericsson Texture Compression format 1, також згадується як "ETC1", так і є частиною графіки OpenGL ES. Цей формат не може зберігати альфа-канал.

Format FORMAT_ETC2_R11 = 26

Ericsson Texture Compression формат 2 (R11_EAC варіант), який забезпечує один канал не позначених даних.

Format FORMAT_ETC2_R11S = 27

Ericsson Texture Compression формат 2 (SIGNED_R11_EAC варіант), який забезпечує один канал підписаних даних.

Format FORMAT_ETC2_RG11 = 28

Ericsson Texture Compression формат 2 (RG11_EAC варіант), який забезпечує два канали не позначених даних.

Format FORMAT_ETC2_RG11S = 29

Ericsson Texture Compression формат 2 (SIGNED_RG11_EAC варіант), який надає два канали підписаних даних.

Format FORMAT_ETC2_RGB8 = 30

Ericsson Texture Compression формат 2 (RGB8), який є продовженням ETC1 та компресами RGB888.

Примітка: При створенні ImageTexture, sRGB до лінійного перетворення простору.

Format FORMAT_ETC2_RGBA8 = 31

Ericsson Texture Compression формат 2 (RGBA8variant), який компресує дані RGBA88 з повним альфа-підтримкою.

Примітка: При створенні ImageTexture виконується sRGB до лінійного перетворення простору.

Format FORMAT_ETC2_RGB8A1 = 32

Ericsson Texture Compression формат 2 (RGB8_PUNCHTHROUGH_ALPHA1 варіант), який компресує дані RGBA, щоб зробити альфа або повністю прозорим або повністю непрозорим.

Примітка: При створенні ImageTexture виконується sRGB до лінійного перетворення простору.

Format FORMAT_ETC2_RA_AS_RG = 33

Ericsson Texture Compression формат 2 (RGBA8), який компресує дані та інтерпретує його як два канали (червоний та зелений). Дивись також FORMAT_ETC2_RGBA8.

Format FORMAT_DXT5_RA_AS_RG = 34

S3TC фактурний формат також відомий як Block Compression 3 або BC3, який компресує дані та інтерпретує його як два канали (червоний і зелений). Дивитися також FORMAT_DXT5.

Format FORMAT_ASTC_4x4 = 35

` Адаптивна кальмарована текстура стиснення <https://en.wikipedia.org/wiki/configive_scalable_texture_compression>`__. Це реалізує режим 4×4 (висока якість).

Format FORMAT_ASTC_4x4_HDR = 36

Same format as FORMAT_ASTC_4x4, але з натяком, щоб дати GPU знати його використовується для HDR.

Format FORMAT_ASTC_8x8 = 37

` Адаптивна кальмарована текстура стиснення <https://en.wikipedia.org/wiki/configive_scalable_texture_compression>`__. Це реалізує режим 8×8 (нижча якість).

Format FORMAT_ASTC_8x8_HDR = 38

Same format as FORMAT_ASTC_8x8, але з натяком, щоб дати GPU знати його використовується для HDR.

Format FORMAT_MAX = 39

Представляємо розмір Format enum.


enum Interpolation: 🔗

Interpolation INTERPOLATE_NEAREST = 0

Виконує міжпольацію найближчих сусідів. Якщо зображення негабаритне, він буде піксельним.

Interpolation INTERPOLATE_BILINEAR = 1

Виконує дволінійну інтерполяція. Якщо образ негабаритний, він буде розмитим. Цей режим швидше, ніж INTERPOLATE_CUBIC, але це призводить до меншої якості.

Interpolation INTERPOLATE_CUBIC = 2

Виконує кубічне міжполування. Якщо образ негабаритний, він буде розмитим. Цей режим часто дає кращі результати у порівнянні з INTERPOLATE_BILINEAR, за вартістю повільніше.

Interpolation INTERPOLATE_TRILINEAR = 3

Виконує дволінійну окремо на двох найбільш костюмованих рівнях mipmap, після чого лінійно між ними.

Це повільніше, ніж INTERPOLATE_BILINEAR, але виробляє більш якісні результати з набагато меншою кількістю ілюзуючих артефактів.

Якщо зображення не має mipmaps, вони будуть створюватися і використовуватися внутрішньо, але не буде створюватися на отриманому зображенні.

Примітка: Якщо ви плануєте масштабувати декілька копій оригінального зображення, краще викликати генер_mipmaps(), щоб уникнути переробної потужності у генеруванні їх знову і знову.

З іншого боку, якщо зображення вже має mipmaps, вони будуть використані, і новий набір буде створений для отриманого зображення.

Interpolation INTERPOLATE_LANCZOS = 4

Виконує інтерполяції Ланчосу. Це найшвидший режим редагування зображень, але він зазвичай дає найкращі результати, особливо коли знижує зображення.


enum AlphaMode: 🔗

AlphaMode ALPHA_NONE = 0

Зображення не має альфа.

AlphaMode ALPHA_BIT = 1

Image зберігає альфа в одному біті.

AlphaMode ALPHA_BLEND = 2

Зображення використовує альфа.


enum CompressMode: 🔗

CompressMode COMPRESS_S3TC = 0

Використовуйте стиснення S3TC.

CompressMode COMPRESS_ETC = 1

Використовуйте стиснення ETC.

CompressMode COMPRESS_ETC2 = 2

Використовуйте стиснення ETC2.

CompressMode COMPRESS_BPTC = 3

Використовуйте стиснення BPTC.

CompressMode COMPRESS_ASTC = 4

Використовуйте стиснення ASTC.

CompressMode COMPRESS_MAX = 5

Представляємо розмір CompressMode enum.


enum UsedChannels: 🔗

UsedChannels USED_CHANNELS_L = 0

Тільки зображення використовується один канал для блиску (сірий масштаб).

UsedChannels USED_CHANNELS_LA = 1

Зображення використовує два канали для luminance і alpha, відповідно.

UsedChannels USED_CHANNELS_R = 2

Зображення використовується тільки в червоному каналі.

UsedChannels USED_CHANNELS_RG = 3

Зображення використовує два канали для червоного і зеленого.

UsedChannels USED_CHANNELS_RGB = 4

Зображення використовує три канали для червоного, зеленого та синього кольору.

UsedChannels USED_CHANNELS_RGBA = 5

Зображення використовує чотири канали для червоного, зеленого, синього та альфа.


enum CompressSource: 🔗

CompressSource COMPRESS_SOURCE_GENERIC = 0

Основна текстура (збереження) є регулярною текстурою. За замовчуванням для всіх текстур.

CompressSource COMPRESS_SOURCE_SRGB = 1

Джерело текстури (before стиснення) знаходиться в просторі sRGB.

CompressSource COMPRESS_SOURCE_NORMAL = 2

Основна текстура (збереження) є нормальною текстурою (наприклад, її можна стискати на два канали).


enum ASTCFormat: 🔗

ASTCFormat ASTC_FORMAT_4x4 = 0

Знайте, щоб вказати, що якість 4 × 4 формат стиснення ASTC слід використовувати.

ASTCFormat ASTC_FORMAT_8x8 = 1

Знайте, щоб вказати, що низька якість 8 × 8 формат стиснення ASTC слід використовувати.


Константи

MAX_WIDTH = 16777216 🔗

Максимальна ширина дозволена для ресурсів Image.

MAX_HEIGHT = 16777216 🔗

Максимальна висота дозволена для ресурсів Image.


Описи властивостей

Dictionary data = { "data": PackedByteArray(), "format": "Lum8", "height": 0, "mipmaps": false, "width": 0 } 🔗

Увімкніть всі дані кольору зображення в заданому форматі. Дивитися Format постійні.


Описи методів

void adjust_bcs(brightness: float, contrast: float, saturation: float) 🔗

Налаштовує параметри brightness, contrast та saturation цього зображення на задані значення. Не працює, якщо зображення стиснуте (див. is_compressed()).


void blend_rect(src: Image, src_rect: Rect2i, dst: Vector2i) 🔗

Alpha-blends src_rect з src зображення до цього зображення на координатах dst, закріплений відповідно до обох сторін зображення. Цей образ і src зображення must мають однаковий формат. src_rect з непозитивним розміром обробляється як порожній.


void blend_rect_mask(src: Image, mask: Image, src_rect: Rect2i, dst: Vector2i) 🔗

Alpha-blends src_rect з src зображення до цього зображення за допомогою Mask зображення на координатах dst, кліппед відповідно до обох сторін зображення. Альфа-канали потрібні як для src, так і Mask. dst пікселів і src пікселів будуть змішані, якщо відповідне значення aльфа-пікселя не 0. Цей образ і src зображення must мають однаковий формат. src зображення і Mask зображення must мають однаковий розмір (ширина і висота), але вони можуть мати різні формати. src_rect з непозитивним розміром обробляється як порожній.


void blit_rect(src: Image, src_rect: Rect2i, dst: Vector2i) 🔗

Копіює src_rect із зображення src у це зображення за координатами dst, обрізаючи відповідно до обох меж зображення. Це зображення та зображення src повинні мати однаковий формат. src_rect із неподатним розміром розглядається як порожній.

Примітка: Дані альфа-каналу в src перезапишуть відповідні дані на цьому зображенні в цільовій позиції. Для змішування альфа-каналів замість цього використовуйте blend_rect().


void blit_rect_mask(src: Image, mask: Image, src_rect: Rect2i, dst: Vector2i) 🔗

Blits src_rect область з src зображення до цього зображення на координатах, надані dst, закріплений відповідно до обох сторін зображення. src піксель копіюється на dst, якщо відповідна Mask значення альфа-пікселя не 0. Цей образ і src зображення must мають однаковий формат. src зображення і Mask зображення must мають однаковий розмір (ширина і висота), але вони можуть мати різні формати. src_rect з непозитивним розміром обробляється як порожній.


void bump_map_to_normal_map(bump_scale: float = 1.0) 🔗

Перетворює bump карту в нормальну карту. Карта bump забезпечує вихід висоти на піксель, при цьому нормальна карта забезпечує нормальний напрямок на піксель.


void clear_mipmaps() 🔗

Видаліть мапи зображень.


Error compress(mode: CompressMode, source: CompressSource = 0, astc_format: ASTCFormat = 0) 🔗

Скопіює зображення для використання меншої пам'яті. Чи не можна безпосередньо отримувати дані про піксель, в той час як зображення компресовано. Повертає помилку, якщо обраний режим стиснення не доступний.

параметр source допомагає підібрати найкращий метод стиснення для форматів DXT і ETC2. Він ігнорується для стиснення ASTC.

Для стиснення ASTC необхідно надати параметр astc_format.


Error compress_from_channels(mode: CompressMode, channels: UsedChannels, astc_format: ASTCFormat = 0) 🔗

Скопіює зображення для використання меншої пам'яті. Чи не можна безпосередньо отримувати дані про піксель, в той час як зображення компресовано. Повертає помилку, якщо обраний режим стиснення не доступний.

Це альтернатива compress(), який дозволяє користувачеві поставляти канали, які використовуються для того, щоб компресор вибрати кращі формати DXT і ETC2. Для інших форматів (не DXT або ETC2) цей аргумент ігнорується.

Для стиснення ASTC необхідно надати параметр astc_format.


Dictionary compute_image_metrics(compared_image: Image, use_luma: bool) 🔗

Знімання параметрів зображення на поточному зображенні та у порівнянні з зображенням.

Словник містить max, mean, mean_squared, root_mean_squared і peak_snr.


void convert(format: Format) 🔗

Конвертує формат цього зображення у вказаний format.


void copy_from(src: Image) 🔗

Копії src зображення на це зображення.


Image create(width: int, height: int, use_mipmaps: bool, format: Format) static 🔗

Застаріло: Use create_empty().

Створює порожнє зображення заданого розміру та формату. Якщо use_mipmaps має значення true, генерує mipmaps для цього зображення. Див. generate_mipmaps().


Image create_empty(width: int, height: int, use_mipmaps: bool, format: Format) static 🔗

Створює порожнє зображення заданого розміру та формату. Якщо use_mipmaps має значення true, генерує mipmaps для цього зображення. Див. generate_mipmaps().


Image create_from_data(width: int, height: int, use_mipmaps: bool, format: Format, data: PackedByteArray) static 🔗

Створює нове зображення заданого розміру та формату. Заповнює зображення заданими необробленими даними. Якщо use_mipmaps має значення true, завантажує mipmapy для цього зображення з data. Див. generate_mipmaps().


void crop(width: int, height: int) 🔗

Обрізає зображення до заданих значень width та height. Якщо заданий розмір більший за поточний розмір, додаткова область заповнюється чорними пікселями.


Error decompress() 🔗

Визначте зображення, якщо це компресовано VRAM у форматі підтримки. Повернення @GlobalScope.OK якщо формат підтримується, інакше @GlobalScope.ERR_UNAVAILABLE.

Примітка: Формати можуть бути декомпресовані: DXT, RGTC, BPTC. Формати ETC1 і ETC2 не підтримуються.


AlphaMode detect_alpha() const 🔗

Повернення ALPHA_BLEND якщо зображення має дані для значень альфа. Повернення ALPHA_BIT якщо всі значення альфа зберігаються в одному біті. Повернення ALPHA_NONE якщо не знайдено даних для значень альфа.


UsedChannels detect_used_channels(source: CompressSource = 0) const 🔗

Повертає колірні канали, що використовуються цим зображенням. Якщо зображення стиснуте, необхідно вказати оригінальний source.


void fill(color: Color) 🔗

Заповнює зображення за допомогою color.


void fill_rect(rect: Rect2i, color: Color) 🔗

Заповнює ct з color.


void fix_alpha_edges() 🔗

Blends з низьким альфа-пікселем.


void flip_x() 🔗

Затискає зображення горизонтально.


void flip_y() 🔗

Затискає зображення вертикально.


Error generate_mipmaps(renormalize: bool = false) 🔗

Генерація міток для зображення. Mipmaps - це заготовлені копії нижньої роздільної здатності зображення, які автоматично використовуються, якщо зображення потрібно масштабувати при наведенні. Вони допомагають поліпшити якість зображення і продуктивність при рендерингу. Цей метод повертає помилку, якщо зображення стискається, у користувацькому форматі, або якщо ширина зображення / вага зображення 0. Включення renormalize при генеруванні mipmaps для нормальної текстури карти переконайтеся, що всі отримані значення вектора нормалізуються.

Можна перевірити, чи має зображення mipmaps, зателефонувавши has_mipmaps() або get_mipmap_count(). Дзвінки генерувати_mipmaps() на зображення, яке вже має mipmaps, замінить існуючі mipmaps у зображення.


PackedByteArray get_data() const 🔗

Повертає копію даних зображення.


int get_data_size() const 🔗

Повертає розмір (в байтах) сировини.


Format get_format() const 🔗

Повертає формат цього зображення.


int get_height() const 🔗

Повертає висоту зображення.


int get_mipmap_count() const 🔗

Повертає кількість рівнів mipmap або 0, якщо зображення не має mipmaps. Найбільший основний рівень зображення не підраховується як рівень mipmap за цим методом, так що якщо ви хочете включити його можна додати до цього підрахунку 1.


int get_mipmap_offset(mipmap: int) const 🔗

Повертає зміщення, де MIP-карта зображення з індексом mipmap зберігається у словнику data.


Color get_pixel(x: int, y: int) const 🔗

Повертає колір пікселя в точці (x, y).

Це те саме, що й метод `` method get_pixelv``, але з двома цілочисельними аргументами замість аргументу Vector2i.


Color get_pixelv(point: Vector2i) const 🔗

Повертає колір пікселя в точці point.

Це те саме, що й метод get_pixel(), але з аргументом Vector2i замість двох цілочисельних аргументів.


Image get_region(region: Rect2i) const 🔗

Повертає нову Image, яка є копіям цієї Image області, зазначеної region.


Vector2i get_size() const 🔗

Повертає розмір зображення (ширина і висота).


Rect2i get_used_rect() const 🔗

Повертає Rect2i, закриваючи видиму частину зображення, враховуючи кожен піксель з ненульним альфа-каналом.


int get_width() const 🔗

Повертаємо ширину зображення.


bool has_mipmaps() const 🔗

true, якщо зображення створювало mipmaps.


bool is_compressed() const 🔗

Повертає true, якщо зображення стискається.


bool is_empty() const 🔗

Повернення true якщо зображення не має даних.


bool is_invisible() const 🔗

Повертає true, якщо всі пікселі зображень мають альфа значення 0. Повертає false, якщо будь-який піксель має значення альфа вище 0.


void linear_to_srgb() 🔗

Перетворює все зображення з лінійного простору кольорів у простір кольорів sRGB. Працює лише на зображеннях із форматами FORMAT_RGB8 або FORMAT_RGBA8.


Error load(path: String) 🔗

Навантаження зображення з файлу path. Див. Підтримані формати зображень для списку підтриманих форматів зображень та обмежень.

Попередження: Цей метод повинен бути використаний тільки в редакторі або в випадках, коли вам потрібно завантажити зовнішні зображення в режимі run-time, такі як зображення, розміщені на каталозі user://, і не може працювати в експортованих проектах.

Дивитися також ImageTexture опис для прикладів використання.


Error load_bmp_from_buffer(buffer: PackedByteArray) 🔗

Завантаження зображення з бінарного вмісту BMP файл.

Примітка: Модуль Godot BMP не підтримує 16-біт на піксельні зображення. Тільки 1-bit, 4-bit, 8-bit, 24-bit і 32-bit на піксельні зображення підтримуються.

Примітка: Цей метод доступний тільки в двигунах з модулем BMP. За замовчуванням модуль BMP ввімкнено, але він може бути вимкнений при створенні часу за допомогою параметра module_bmp_enabled=no Параметри SCons.


Error load_dds_from_buffer(buffer: PackedByteArray) 🔗

Завантажує зображення з бінарного вмісту DDS-файлу.

Примітка: Цей метод доступний лише у збірках рушія з увімкненим модулем DDS. За замовчуванням модуль DDS увімкнено, але його можна вимкнути під час збірки за допомогою опції SCons module_dds_enabled=no.


Image load_from_file(path: String) static 🔗

Створення нових Image і завантаження даних з вказаного файлу.


Error load_jpg_from_buffer(buffer: PackedByteArray) 🔗

Завантажує зображення з бінарного вмісту файлу JPEG.


Error load_ktx_from_buffer(buffer: PackedByteArray) 🔗

Навантаження зображення з бінарного вмісту KTX файл. На відміну від більшості форматів зображень, KTX може зберігати VRAM-компресовані дані та рельєфні карти.

Примітка: Godot's libktx виконання тільки підтримує 2D зображення. Не підтримуються кубикові карти, фактурні масиви та де-набивання.

Примітка: Цей метод доступний тільки в двигунах з модулем KTX. За замовчуванням, модуль KTX включений, але він може бути вимкнений при створенні часу за допомогою параметра module_ktx_enabled=no.


Error load_png_from_buffer(buffer: PackedByteArray) 🔗

Завантаження зображення з бінарного вмісту PNG файлу.


Error load_svg_from_buffer(buffer: PackedByteArray, scale: float = 1.0) 🔗

Завантаження зображення з бінарного вмісту UTF-8 uncompressed SVG файл (..

Примітка: Посуд при використанні стиснених SVG файлів (наприклад, .z, вони повинні бути decompressed перед завантаженням.

Примітка: Цей метод доступний тільки в двигунах з вбудованим модулем SVG. За замовчуванням модуль SVG ввімкнено, але він може бути вимкнений в режимі збирання за допомогою параметра module_enabled=no.


Error load_svg_from_string(svg_str: String, scale: float = 1.0) 🔗

Навантаження зображення з стрункого вмісту SVG файлу (**. **).

Примітка: Цей метод доступний тільки в двигунах з вбудованим модулем SVG. За замовчуванням модуль SVG ввімкнено, але він може бути вимкнений при створенні часу за допомогою параметра module__enabled=no.


Error load_tga_from_buffer(buffer: PackedByteArray) 🔗

Завантаження зображення з бінарного вмісту TGA файла.

Примітка: Цей метод доступний тільки в двигунах з вбудованим модулем TGA. За замовчуванням, модуль TGA включений, але він може бути вимкнений при створенні часу за допомогою параметра module_tga_enabled=no.


Error load_webp_from_buffer(buffer: PackedByteArray) 🔗

Завантаження зображення з бінарного вмісту файлу WebP.


void normal_map_to_xy() 🔗

Конвертує дані зображення, щоб відобразити координати на 3D-карті. Це використовується при нормальній карті. Нормальна карта може додавати багато деталей до поверхні 3D без збільшення кількості полігонів.


void premultiply_alpha() 🔗

Багатошарові значення кольорів з значеннями альфа. Отримані значення кольору для пікселя (color * alpha)/256. Дивись також CanvasItemMaterial.blend_mode.


void resize(width: int, height: int, interpolation: Interpolation = 1) 🔗

Змінює розмір зображення до заданих значень width та height. Нові пікселі обчислюються за допомогою режиму interpolation, визначеного за допомогою констант Interpolation.


void resize_to_po2(square: bool = false, interpolation: Interpolation = 1) 🔗

Змінює розмір зображення до найближчого степеня 2 для ширини та висоти. Якщо square має значення true, встановлює однакові значення ширини та висоти. Нові пікселі обчислюються за допомогою режиму interpolation, визначеного за допомогою констант Interpolation.


Image rgbe_to_srgb() 🔗

Перетворення стандартного зображення RGBE (Red Green Blue Exponent) на зображення sRGB.


void rotate_90(direction: ClockDirection) 🔗

Обертує зображення в зазначеному direction 90 градусів. Ширина і висота зображення повинні бути більшими, ніж 1. Якщо ширина і висота не рівність, зображення буде негабаритним.


void rotate_180() 🔗

Обертає зображення 180 градусів. Ширина і висота зображення повинні бути більшими, ніж 1.


Error save_dds(path: String) const 🔗

Зберігає зображення як файл DDS (DirectDraw Surface) у path. DDS – це формат контейнера, який може зберігати текстури в різних форматах стиснення, таких як DXT1, DXT5 або BC7. Ця функція поверне @GlobalScope.ERR_UNAVAILABLE, якщо Godot було скомпільовано без модуля DDS.

Примітка: Модуль DDS може бути вимкнено в певних збірках, що означає, що save_dds() поверне @GlobalScope.ERR_UNAVAILABLE, коли його буде викликано з експортованого проекту.


PackedByteArray save_dds_to_buffer() const 🔗

Зберігає зображення як файл DDS (DirectDraw Surface) у байтовому масиві. DDS – це контейнерний формат, який може зберігати текстури в різних форматах стиснення, таких як DXT1, DXT5 або BC7. Ця функція поверне порожній байтовий масив, якщо Godot було скомпільовано без модуля DDS.

Примітка: Модуль DDS може бути вимкнено в певних збірках, що означає, що save_dds_to_buffer() поверне порожній байтовий масив, коли його буде викликано з експортованого проекту.


Error save_exr(path: String, grayscale: bool = false) const 🔗

Заощаджує зображення як файл EXR до path. Якщо greyscale є true і зображення має тільки один канал, він буде збережений явно як монохромний, а не один червоний канал. Ця функція повернеться @GlobalScope.ERR_UNAVAILABLE, якщо Godot був складений без модуля TinyEXR.

Note: Модуль TinyEXR вимкнений в нередакторних зборах, що означає save_exr() повернеться @GlobalScope.ERR_UNAVAILABLE, коли він називається з експортованого проекту.


PackedByteArray save_exr_to_buffer(grayscale: bool = false) const 🔗

Зберігає зображення як EXR-файл у байтовий масив. Якщо grayscale має значення true, і зображення має лише один канал, воно буде збережено явно як монохромне, а не як один червоний канал. Ця функція поверне порожній байтовий масив, якщо Godot було скомпільовано без модуля TinyEXR.

Примітка: Модуль TinyEXR вимкнено в збірках без редактора, що означає, що save_exr_to_buffer() поверне порожній байтовий масив, коли його буде викликано з експортованого проекту.


Error save_jpg(path: String, quality: float = 0.75) const 🔗

Заощаджує зображення як файл JPEG до пам'ятний шлях з вказаною quality між 0.01 і 1.0 (включаючи). Вища quality значення призводить до кращого виходу на вартість більших розмірів файлів. 0.75 і 0.90. Навіть за якістю 1.00, стиснення JPEG залишається втратою.

Note: JPEG не зберігає альфа-канал. Якщо Image містить альфа-канал, зображення все ще буде збережено, але отриманий файл JPEG не містить альфа-каналу.


PackedByteArray save_jpg_to_buffer(quality: float = 0.75) const 🔗

Заощаджує зображення як файл JPEG до байтного масиву з вказаною quality 0.01 та 1.0 (включаючи). Найвища quality значення призводить до кращого виходу на вартість більшого розміру масиву байтів (а отже, використання пам'яті). 0.75 і 0.90. Навіть за якістю 1.00, стиснення JPEG залишається втратою.

Note: JPEG не зберігає альфа-канал. Якщо Image містить альфа-канал, зображення все ще буде збережено, але отриманий байтовий масив не містить альфа-каналу.


Error save_png(path: String) const 🔗

Заощаджує зображення як файл PNG у файл path.


PackedByteArray save_png_to_buffer() const 🔗

Заощаджує зображення як файл PNG на байтовий масив.


Error save_webp(path: String, lossy: bool = false, quality: float = 0.75) const 🔗

Зберігає зображення як файл WebP (Web Picture) у файл за адресою path. За замовчуванням він збереже без втрат. Якщо lossy має значення true, зображення буде збережено з втратами, використовуючи налаштування quality від 0.0 до 1.0 (включно). WebP без втрат забезпечує більш ефективне стиснення, ніж PNG.

**Примітка: ** Формат WebP обмежений розміром 16383×16383 пікселів, у той час як у PNG можна зберігати більші зображення.


PackedByteArray save_webp_to_buffer(lossy: bool = false, quality: float = 0.75) const 🔗

Зберігає зображення як файл WebP (Web Picture) у байтовому масиві. За замовчуванням він збереже без втрат. Якщо lossy має значення true, зображення буде збережено з втратами, використовуючи налаштування quality від 0.0 до 1.0 (включно). WebP без втрат забезпечує більш ефективне стиснення, ніж PNG.

**Примітка: ** Формат WebP обмежений розміром 16383×16383 пікселів, у той час як у PNG можна зберігати більші зображення.


void set_data(width: int, height: int, use_mipmaps: bool, format: Format, data: PackedByteArray) 🔗

Перезаписи даних існуючого Image. Нестатичний еквівалент create_from_data().


void set_pixel(x: int, y: int, color: Color) 🔗

Встановлює Color пікселя в (x, y) на color.

змінна img_width = 10
змінна img_height = 5
var img = Image.create(img_width, img_height, false, Image.FORMAT_RGBA8)

img.set_pixel(1, 2, Color.RED) # Встановлює колір (1, 2) на червоний.

Це те саме, що set_pixelv(), але з двома цілими аргументами замість аргументу Vector2i.


void set_pixelv(point: Vector2i, color: Color) 🔗

Встановлює Color пікселя в point на color.

[gdscript]
змінна img_width = 10
змінна img_height = 5
var img = Image.create(img_width, img_height, false, Image.FORMAT_RGBA8)

img.set_pixelv(Vector2i(1, 2), Color.RED) # Встановлює колір (1, 2) на червоний.
[/gdscript]
[csharp]
int imgWidth = 10;
int imgHeight = 5;
var img = Image.Create(imgWidth, imgHeight, false, Image.Format.Rgba8);

img.SetPixelv(новий Vector2I(1, 2), Colors.Red); // Встановлює колір (1, 2) на червоний.
[/csharp] [/codeblocks]

Це те саме, що [method set_pixel], але з аргументом [Vector2i] замість двох цілих аргументів.


void shrink_x2() 🔗

Подрібнює зображення фактором 2 на кожну вісь (це розділяє кількість пікселів на 4).


void srgb_to_linear() 🔗

Перетворює необроблені дані з колірного простору sRGB на лінійний масштаб. Працює лише на зображеннях із форматами FORMAT_RGB8 або FORMAT_RGBA8.