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.

BitMap

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

Булева матриця.

Опис

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

Методи

Image

convert_to_image() const

void

create(size: Vector2i)

void

create_from_image_alpha(image: Image, threshold: float = 0.1)

bool

get_bit(x: int, y: int) const

bool

get_bitv(position: Vector2i) const

Vector2i

get_size() const

int

get_true_bit_count() const

void

grow_mask(pixels: int, rect: Rect2i)

Array[PackedVector2Array]

opaque_to_polygons(rect: Rect2i, epsilon: float = 2.0) const

void

resize(new_size: Vector2i)

void

set_bit(x: int, y: int, bit: bool)

void

set_bit_rect(rect: Rect2i, bit: bool)

void

set_bitv(position: Vector2i, bit: bool)


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

Image convert_to_image() const 🔗

Повертає зображення такого ж розміру, як і растрове зображення, та з Format типу Image.FORMAT_L8. Біти растрового зображення true перетворюються на білі пікселі, а біти false – на чорні.


void create(size: Vector2i) 🔗

Створює растрове зображення вказаного розміру, заповнене false.


void create_from_image_alpha(image: Image, threshold: float = 0.1) 🔗

Створює растровий малюнок, який відповідає заданим розмірам зображення, кожен елемент растрового малюнка має значення false, якщо альфа-значення зображення в цій позиції дорівнює threshold або менше, і `` true`` в іншому випадку.


bool get_bit(x: int, y: int) const 🔗

Повертає значення растрового зображення у вказаній позиції.


bool get_bitv(position: Vector2i) const 🔗

Повертає значення растрового зображення у вказаній позиції.


Vector2i get_size() const 🔗

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


int get_true_bit_count() const 🔗

Повертає кількість растрових елементів, для яких встановлено значення true.


void grow_mask(pixels: int, rect: Rect2i) 🔗

Застосовує морфологічне розширення або ерозію до растрового зображення. Якщо параметр pixels позитивний, до растрового зображення буде застосовано розширення. Якщо параметр pixels від’ємний, до растрового зображення буде застосовано ерозію. rect визначає область, де застосована морфологічна операція. Пікселі, розташовані за межами rect, не впливають на grow_mask().


Array[PackedVector2Array] opaque_to_polygons(rect: Rect2i, epsilon: float = 2.0) const 🔗

Створює Array багатокутників, що покриває прямокутну частину растрового зображення. Він використовує алгоритм крокуючих квадратів із подальшим зменшенням кількості вершин Рамера-Дугласа-Пейкера (RDP). Кожен багатокутник описується як PackedVector2Array його вершин.

Щоб отримати багатокутники, що покривають усе растрове зображення, передайте:

Rect2(Vector2(), get_size())

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


void resize(new_size: Vector2i) 🔗

Змінює розмір зображення до new_size.


void set_bit(x: int, y: int, bit: bool) 🔗

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


void set_bit_rect(rect: Rect2i, bit: bool) 🔗

Встановлює вказане значення для прямокутної частини растрового зображення.


void set_bitv(position: Vector2i, bit: bool) 🔗

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