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...
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) 🔗
Устанавливает элемент растрового изображения в указанной позиции в указанное значение.