Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Image
Успадковує: Resource < RefCounted < Object
Тип зображення.
Опис
Тип даних рідного зображення. Містить дані зображення, які можна конвертувати у ImageTexture, та надає поширені методи обробки зображень. Максимальна ширина та висота для Image – це MAX_WIDTH та MAX_HEIGHT.
Image не можна безпосередньо призначити властивості текстури об'єкта (наприклад, Sprite2D.texture), і спочатку його потрібно вручну конвертувати у ImageTexture.
Примітка: Методи, що змінюють дані зображення, не можна використовувати на зображеннях, стиснутих за допомогою VRAM. Використовуйте decompress(), щоб спочатку конвертувати зображення у нестиснутий формат.
Примітка: Максимальний розмір зображення становить 16384×16384 пікселів через обмеження графічного обладнання. Більші зображення можуть не імпортуватися.
Посібники
Властивості
|
Методи
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 |
|
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 |
|
compress(mode: CompressMode, source: CompressSource = 0, astc_format: ASTCFormat = 0) |
|
compress_from_channels(mode: CompressMode, channels: UsedChannels, astc_format: ASTCFormat = 0) |
|
compute_image_metrics(compared_image: Image, use_luma: bool) |
|
void |
|
void |
|
create(width: int, height: int, use_mipmaps: bool, format: Format) static |
|
create_empty(width: int, height: int, use_mipmaps: bool, format: Format) static |
|
create_from_data(width: int, height: int, use_mipmaps: bool, format: Format, data: PackedByteArray) static |
|
void |
|
detect_alpha() const |
|
detect_used_channels(source: CompressSource = 0) const |
|
void |
|
void |
|
void |
|
void |
flip_x() |
void |
flip_y() |
generate_mipmaps(renormalize: bool = false) |
|
PackedByteArray |
get_data() const |
get_data_size() const |
|
get_format() const |
|
get_height() const |
|
get_mipmap_count() const |
|
get_mipmap_offset(mipmap: int) const |
|
get_pixelv(point: Vector2i) const |
|
get_region(region: Rect2i) const |
|
Vector2i |
get_size() const |
Rect2i |
get_used_rect() const |
get_width() const |
|
has_mipmaps() const |
|
is_compressed() const |
|
is_empty() const |
|
is_invisible() const |
|
void |
|
load(path: String) |
|
load_bmp_from_buffer(buffer: PackedByteArray) |
|
load_dds_from_buffer(buffer: PackedByteArray) |
|
load_exr_from_buffer(buffer: PackedByteArray) |
|
load_from_file(path: String) static |
|
load_jpg_from_buffer(buffer: PackedByteArray) |
|
load_ktx_from_buffer(buffer: PackedByteArray) |
|
load_png_from_buffer(buffer: PackedByteArray) |
|
load_svg_from_buffer(buffer: PackedByteArray, scale: float = 1.0) |
|
load_svg_from_string(svg_str: String, scale: float = 1.0) |
|
load_tga_from_buffer(buffer: PackedByteArray) |
|
load_webp_from_buffer(buffer: PackedByteArray) |
|
void |
|
void |
|
void |
resize(width: int, height: int, interpolation: Interpolation = 1) |
void |
resize_to_po2(square: bool = false, interpolation: Interpolation = 1) |
void |
rotate_90(direction: ClockDirection) |
void |
|
save_dds(path: String) const |
|
PackedByteArray |
save_dds_to_buffer() const |
save_exr(path: String, grayscale: bool = false, color_image: bool = false, max_linear_value: float = -1.0) const |
|
PackedByteArray |
save_exr_to_buffer(grayscale: bool = false, color_image: bool = false, max_linear_value: float = -1.0) const |
PackedByteArray |
save_jpg_to_buffer(quality: float = 0.75) const |
save_png(path: String) const |
|
PackedByteArray |
save_png_to_buffer() const |
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 |
|
void |
set_pixelv(point: Vector2i, color: Color) |
void |
|
void |
Переліки
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, який використовує блочне стиснення 1 та є найменшою варіацією S3TC, надаючи лише 1 біт альфа-каналу та кольорових даних, попередньо помножених на альфа-канал.
Примітка: Під час створення ImageTexture виконується нелінійне перетворення кодування sRGB у лінійне.
Format FORMAT_DXT3 = 18
Формат текстури S3TC, який використовує блочне стиснення 2, а дані про колір інтерпретуються як такі, що не були попередньо помножені на альфа-канал. Добре підходить для зображень з різкими альфа-переходами між напівпрозорими та непрозорими областями.
Примітка: Під час створення ImageTexture виконується нелінійне перетворення кодування sRGB у лінійне.
Format FORMAT_DXT5 = 19
Формат текстури S3TC, також відомий як Block Compression 3 або BC3, містить 64 біти даних альфа-каналу, за якими йдуть 64 біти даних кольору, закодованих за допомогою DXT1. Дані кольору не множаться попередньо на альфа-канал, як і 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 2 (варіант RGB8), який є продовженням ETC1 та стискає дані RGB888.
Примітка: Під час створення ImageTexture виконується нелінійне перетворення кодування sRGB у лінійне.
Format FORMAT_ETC2_RGBA8 = 31
Формат стиснення текстур Ericsson 2 (варіант RGBA8), який стискає дані RGBA8888 з повною підтримкою альфа-каналу.
Примітка: Під час створення ImageTexture виконується нелінійне перетворення кодування sRGB у лінійне.
Format FORMAT_ETC2_RGB8A1 = 32
Формат стиснення текстур Ericsson 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_R16 = 39
Формат текстури OpenGL GL_R16, де є один компонент, 16-бітове беззнакове нормалізоване ціле значення. Оскільки значення нормалізоване, кожен компонент обмежений значеннями між 0.0 та 1.0 (включно).
Примітка: Через обмежену підтримку обладнання рекомендується використовувати переважно на настільних комп'ютерах або консольних пристроях. Він може не підтримуватися на мобільних пристроях або в Інтернеті, і тому буде перетворено на FORMAT_RF.
Format FORMAT_RG16 = 40
Формат текстури OpenGL GL_RG16, де є два компоненти, кожен з яких є 16-бітним беззнаковим нормалізованим цілочисельним значенням. Оскільки значення нормалізоване, кожен компонент обмежений значеннями між 0.0 та 1.0 (включно).
Примітка: Через обмежену підтримку обладнання рекомендується використовувати переважно на настільних комп'ютерах або консолях. Він може не підтримуватися на мобільних пристроях або в Інтернеті, і тому буде перетворено на FORMAT_RGF.
Format FORMAT_RGB16 = 41
Формат текстури OpenGL GL_RGB16, де є три компоненти, кожен з яких є 16-бітним беззнаковим нормалізованим цілочисельним значенням. Оскільки значення нормалізоване, кожен компонент обмежений значеннями між 0.0 та 1.0 (включно).
Примітка: Через обмежену підтримку обладнання рекомендується використовувати переважно на настільних комп'ютерах або консолях. Він може не підтримуватися на мобільних пристроях або в Інтернеті, і тому буде перетворено на FORMAT_RGBF.
Format FORMAT_RGBA16 = 42
Формат текстури OpenGL GL_RGBA16, де є чотири компоненти, кожен з яких є 16-бітним беззнаковим нормалізованим цілочисельним значенням. Оскільки значення нормалізоване, кожен компонент обмежений значеннями між 0.0 та 1.0 (включно).
Примітка: Через обмежену підтримку обладнання рекомендується використовувати переважно на настільних комп'ютерах або консолях. Він може не підтримуватися на мобільних пристроях або в Інтернеті, і тому буде перетворено на FORMAT_RGBAF.
Format FORMAT_R16I = 43
Формат текстури OpenGL GL_R16UI, де є один компонент, 16-бітове ціле число без знака. Кожен компонент обмежено значеннями між 0 та 65535 (включно).
Примітка: Під час використання в шейдері текстура вимагає використання семплерів usampler. Крім того, вона підтримує лише фільтрацію найближчих сусідів у рендерері сумісності.
Примітка: Під час семплювання за допомогою методу get_pixel(), повернуті значення Color необхідно поділити на 65535, щоб отримати правильне значення кольору.
Format FORMAT_RG16I = 44
Формат текстури OpenGL GL_RG16UI, де є два компоненти, кожен з яких є 16-бітним цілочисельним значенням без знака. Кожен компонент обмежено значеннями між 0 та 65535 (включно).
Примітка: Під час використання в шейдері текстура вимагає використання семплерів usampler. Крім того, вона підтримує лише фільтрацію найближчих сусідів у рендерері сумісності.
Примітка: Під час семплювання за допомогою методу get_pixel(), повернуті значення Color необхідно поділити на 65535, щоб отримати правильне значення кольору.
Format FORMAT_RGB16I = 45
Формат текстури OpenGL GL_RGB16UI, де є три компоненти, кожен з яких є 16-бітним цілим числом без знака. Кожен компонент обмежено значеннями між 0 та 65535 (включно).
Примітка: Під час використання в шейдері текстура вимагає використання семплерів usampler. Крім того, вона підтримує лише фільтрацію найближчих сусідів у рендерері сумісності.
Примітка: Під час семплювання за допомогою методу get_pixel(), повернуті значення Color необхідно поділити на 65535, щоб отримати правильне значення кольору.
Format FORMAT_RGBA16I = 46
Формат текстури OpenGL GL_RGBA16UI, де є чотири компоненти, кожен з яких є 16-бітним цілочисельним значенням без знака. Кожен компонент обмежено значеннями між 0 та 65535 (включно).
Примітка: Під час використання в шейдері текстура вимагає використання семплерів usampler. Крім того, вона підтримує лише фільтрацію найближчих сусідів у рендерері сумісності.
Примітка: Під час семплювання за допомогою методу get_pixel(), повернуті значення Color необхідно поділити на 65535, щоб отримати правильне значення кольору.
Format FORMAT_MAX = 47
Представляємо розмір 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
Зображення зберігає або повністю непрозорі, або повністю прозорі пікселі. Також відоме як альфа-відображення (punchthrough alpha).
AlphaMode ALPHA_BLEND = 2
Зображення зберігає альфа-дані зі значеннями від 0.0 до 1.0.
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
Текстура джерела (до стиснення) використовує нелінійне кодування 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) 🔗
Стискає зображення у форматі, стиснутому за допомогою VRAM, щоб використовувати менше пам'яті. Неможливо безпосередньо отримати доступ до піксельних даних, поки зображення стиснуте. Повертає помилку, якщо вибраний режим стиснення недоступний.
Параметр source допомагає вибрати найкращий метод стиснення для форматів DXT та ETC2. Він ігнорується для стиснення ASTC.
Параметр astc_format враховується лише під час використання стиснення ASTC; він ігнорується для всіх інших форматів.
Примітка: Метод compress() підтримується лише в збірках редактора. Під час запуску в експортованому проекті цей метод завжди повертає @GlobalScope.ERR_UNAVAILABLE.
Error compress_from_channels(mode: CompressMode, channels: UsedChannels, astc_format: ASTCFormat = 0) 🔗
Стискає зображення у форматі, стиснутому за допомогою VRAM, щоб використовувати менше пам'яті. Неможливо безпосередньо отримати доступ до піксельних даних, поки зображення стиснене. Повертає помилку, якщо вибраний режим стиснення недоступний.
Це альтернатива методу compress(), яка дозволяє користувачеві вказати канали, що використовуються для того, щоб компресор міг вибрати найкращі формати DXT та ETC2. Для інших форматів (не DXT або ETC2) цей аргумент ігнорується.
Параметр astc_format враховується лише під час використання стиснення ASTC; він ігнорується для всіх інших форматів.
Примітка: Метод compress_from_channels() підтримується лише в збірках редактора. Під час запуску в експортованому проекті цей метод завжди повертає @GlobalScope.ERR_UNAVAILABLE.
Dictionary compute_image_metrics(compared_image: Image, use_luma: bool) 🔗
Обчисліть показники зображення для поточного зображення та зображення, що порівнюється. Це можна використовувати для обчислення подібності між двома зображеннями.
Словник містить max, mean, mean_squared, root_mean_squared та peak_snr.
void convert(format: Format) 🔗
Конвертує формат цього зображення у вказаний format.
Копії src зображення на це зображення.
Image create(width: int, height: int, use_mipmaps: bool, format: Format) static 🔗
Застаріло: Use create_empty().
Створює порожнє зображення заданого розміру та формату. Якщо use_mipmaps має значення true, генерує mipmapy для цього зображення (див. generate_mipmaps()).
Image create_empty(width: int, height: int, use_mipmaps: bool, format: Format) static 🔗
Створює порожнє зображення заданого розміру та формату. Якщо use_mipmaps має значення true, генерує mipmapy для цього зображення (див. 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. Якщо заданий розмір більший за поточний розмір, додаткова область заповнюється чорними пікселями.
Розпакує зображення, якщо воно стиснуте за допомогою VRAM у підтримуваному форматі. Це збільшує використання пам'яті, але дозволяє змінювати зображення. Повертає @GlobalScope.OK, якщо формат підтримується, інакше @GlobalScope.ERR_UNAVAILABLE. Усі формати, стиснуті за допомогою VRAM, що підтримуються Godot, можна розпакувати за допомогою цього методу, окрім FORMAT_ETC2_R11S, FORMAT_ETC2_RG11S та FORMAT_ETC2_RGB8A1.
AlphaMode detect_alpha() const 🔗
Повернення ALPHA_BLEND якщо зображення має дані для значень альфа. Повернення ALPHA_BIT якщо всі значення альфа зберігаються в одному біті. Повернення ALPHA_NONE якщо не знайдено даних для значень альфа.
UsedChannels detect_used_channels(source: CompressSource = 0) const 🔗
Повертає колірні канали, що використовуються цим зображенням. Якщо зображення стиснуте, необхідно вказати оригінальний source.
Заповнює зображення за допомогою 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_mipmap_count() const 🔗
Повертає кількість рівнів mipmap або 0, якщо зображення не має mipmaps. Найбільший основний рівень зображення не підраховується як рівень mipmap за цим методом, так що якщо ви хочете включити його можна додати до цього підрахунку 1.
int get_mipmap_offset(mipmap: int) const 🔗
Повертає зміщення, за яким у словнику data зберігається міпмапа зображення з індексом mipmap.
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, закриваючи видиму частину зображення, враховуючи кожен піксель з ненульним альфа-каналом.
Повертаємо ширину зображення.
true, якщо зображення створювало mipmaps.
Повертає true, якщо зображення стискається.
Повернення true якщо зображення не має даних.
Повертає true, якщо всі пікселі зображень мають альфа значення 0. Повертає false, якщо будь-який піксель має значення альфа вище 0.
void linear_to_srgb() 🔗
Перетворює все зображення з лінійного кодування на нелінійне кодування sRGB за допомогою таблиці пошуку. Працює лише із зображеннями у форматах FORMAT_RGB8 або FORMAT_RGBA8.
Навантаження зображення з файлу 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.
Error load_exr_from_buffer(buffer: PackedByteArray) 🔗
Завантажує зображення з бінарного вмісту файлу OpenEXR.
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) 🔗
Resizes the image to the given width and height. New pixels are calculated using the interpolation mode defined via Interpolation constants.
Note: If the image's format is FORMAT_RGBA4444, FORMAT_RGB565, or FORMAT_RGBE9995, it will be temporarily converted to either FORMAT_RGBA8 or FORMAT_RGBAH. This can affect the quality of the resized image.
void resize_to_po2(square: bool = false, interpolation: Interpolation = 1) 🔗
Змінює розмір зображення до найближчого степеня 2 для ширини та висоти. Якщо square має значення true, встановлює однакові значення ширини та висоти. Нові пікселі обчислюються за допомогою режиму interpolation, визначеного за допомогою констант Interpolation.
Перетворює стандартне лінійне зображення RGBE (червоний зелений синій експонент) на зображення, яке використовує нелінійне кодування 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, color_image: bool = false, max_linear_value: float = -1.0) const 🔗
Saves the image as an EXR file to path. If grayscale is true and the image has only one channel, it will be saved explicitly as monochrome rather than one red channel. Set color_image to true when saving a color image, such as a screenshot. Negative values will be included when color_image is false, which may be useful for saving raw floating point data such as a lightmap that includes negative light information. Color component values in the resulting EXR file will not exceed max_linear_value if max_linear_value is not negative. This function will return @GlobalScope.ERR_UNAVAILABLE if Godot was compiled without the TinyEXR module.
When saving screenshots of a project that uses HDR output, use Window.get_output_max_linear_value() for max_linear_value.
PackedByteArray save_exr_to_buffer(grayscale: bool = false, color_image: bool = false, max_linear_value: float = -1.0) const 🔗
Saves the image as an EXR file to a byte array. If grayscale is true and the image has only one channel, it will be saved explicitly as monochrome rather than one red channel. Set color_image to true when saving a color image, such as a screenshot. Negative values will be included when color_image is false, which may be useful for saving raw floating point data such as a lightmap that includes negative light information. Color component values in the resulting EXR file will not exceed max_linear_value if max_linear_value is not negative. This function will return an empty byte array if Godot was compiled without the TinyEXR module.
When saving screenshots of a project that uses HDR output, use Window.get_output_max_linear_value() for max_linear_value.
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) 🔗
Встановлює Колір пікселя за адресою (x, y) на color.
var img_width = 10
var img_height = 5
var img = Image.create(img_width, img_height, false, Image.FORMAT_RGBA8)
img.set_pixel(1, 2, Color.RED) # Sets the color at (1, 2) to red.
int imgWidth = 10;
int imgHeight = 5;
var img = Image.Create(imgWidth, imgHeight, false, Image.Format.Rgba8);
img.SetPixel(1, 2, Colors.Red); // Sets the color at (1, 2) to red.
Це те саме, що й метод set_pixelv(), але з двома цілочисельними аргументами замість аргументу Vector2i.
Примітка: Залежно від формату зображення, встановлений тут колір може бути обмежений або втрачати точність. Не вважайте, що колір, повернутий методом get_pixel(), ідентичний встановленим тут; будь-які порівняння, ймовірно, потребуватимуть використання наближення, такого як Color.is_equal_approx().
Примітка: У форматах зображень у градаціях сірого використовується лише червоний канал методу color (і альфа-канал, якщо це доречно). Зелений та синій канали ігноруються.
void set_pixelv(point: Vector2i, color: Color) 🔗
Встановлює Color пікселя в point на color.
var img_width = 10
var img_height = 5
var img = Image.create(img_width, img_height, false, Image.FORMAT_RGBA8)
img.set_pixelv(Vector2i(1, 2), Color.RED) # Sets the color at (1, 2) to red.
int imgWidth = 10;
int imgHeight = 5;
var img = Image.Create(imgWidth, imgHeight, false, Image.Format.Rgba8);
img.SetPixelv(new Vector2I(1, 2), Colors.Red); // Sets the color at (1, 2) to red.
Це те саме, що й метод set_pixel(), але з аргументом Vector2i замість двох цілочисельних аргументів.
Примітка: Залежно від формату зображення, встановлений тут колір може бути обмежений або втрачати точність. Не вважайте, що колір, повернутий методом get_pixelv(), ідентичний встановленим тут; будь-які порівняння, ймовірно, потребуватимуть використання наближення, такого як Color.is_equal_approx().
Примітка: У форматах зображень у градаціях сірого використовується лише червоний канал методу color (і альфа-канал, якщо це доречно). Зелений та синій канали ігноруються.
void shrink_x2() 🔗
Подрібнює зображення фактором 2 на кожну вісь (це розділяє кількість пікселів на 4).
void srgb_to_linear() 🔗
Перетворює необроблені дані з нелінійного кодування sRGB на лінійне за допомогою таблиці пошуку. Працює лише на зображеннях у форматах FORMAT_RGB8 або FORMAT_RGBA8.
Примітка: 8-бітні формати, необхідні для цього методу, не підходять для зберігання лінійно кодованих значень; значна кількість кольорової інформації буде втрачена в темніших значеннях. Для збереження якості зображення цей метод не слід використовувати.