BitMap
Наследует: Resource < RefCounted < Object
Логическая матрица.
Описание
Двумерный массив логических значений можно использовать для эффективного хранения двоичной матрицы (каждый элемент матрицы занимает только один бит) и запроса значений с использованием естественных декартовых координат.
Методы
convert_to_image() const |
|
void |
|
void |
create_from_image_alpha(image: Image, threshold: float = 0.1) |
get_size() const |
|
get_true_bit_count() const |
|
void |
|
opaque_to_polygons(rect: Rect2i, epsilon: float = 2.0) const |
|
void |
|
void |
|
void |
set_bit_rect(rect: Rect2i, bit: bool) |
void |
Описания метода
Image convert_to_image() const 🔗
Возвращает изображение того же размера, что и растровое изображение, и с Format типа Image.FORMAT_L8. true битов растрового изображения преобразуются в белые пиксели, а false битов — в черные.
Создает растровое изображение указанного размера, заполненное 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 🔗
Возвращает значение растрового изображения в указанной позиции.
Возвращает размеры изображения.
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) 🔗
Устанавливает элемент растрового изображения в указанной позиции в указанное значение.