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

Hérite de : Resource < RefCounted < Object

Matrice booléenne.

Description

Un tableau bidimensionnel de valeurs booléennes, peut être utilisé pour stocker efficacement une matrice binaire (chaque élément matrice ne contient qu'un bit) et faire des requêtes sur ces valeurs à l'aide de coordonnées naturelles cartésiennes.

Méthodes

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)


Descriptions des méthodes

Image convert_to_image() const 🔗

Renvoie une image de la même taille que la bitmap et avec le format Format de type Image.FORMAT_L8. Les bits true de la bitmap seront converties en pixels blancs, et les bits false en noir.


void create(size: Vector2i) 🔗

Crée un bitmap de la taille spécifiée, rempli avec la valeur false.


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

Crée une bitmap qui correspond aux dimensions de l'image donnée, chaque élément de la bitmap sera défini à false si la valeur alpha de l'image à cette position est inférieure ou égale à threshold, et true sinon.


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

Renvoie la valeur du bitmap à la position spécifiée.


bool get_bitv(position: Vector2i) const 🔗

Renvoie la valeur du bitmap à la position spécifiée.


Vector2i get_size() const 🔗

Renvoie les dimensions de bitmap.


int get_true_bit_count() const 🔗

Renvoie le nombre d'éléments de la bitmap qui sont définis à true.


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

Applique une dilatation ou une érosion morphologique à la bitmap. Si pixels est positif, une dilatation est appliquée à la bitmap. Si pixels est négatif, une érosion est appliquée à la bitmap. rect définit la zone où l'opération morphologique est appliquée. Les pixels situés à l'extérieur du rect ne sont pas affectés par grow_mask().


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

Crée un Array de polygones couvrant une partie rectangulaire de la bitmap. Utilise un algorithme Marching Square, suivi de la réduction du nombre de sommets de Ramer-Douglas-Peucker (RDP). Chaque polygone est décrit en tant que PackedVector2Array de ses sommets.

Pour obtenir des polygones couvrant toute la bitmap, utilisez comme argument :

Rect2(Vector2(), get_size())

epsilon est passé à RDP pour contrôler la précision des polygones recouvrant la bitmap : un epsilon inférieur correspond à plus de points dans les polygones.


void resize(new_size: Vector2i) 🔗

Redimensionne l'image à la nouvelle taille new_size.


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

Définit l'élément du bitmap à la position donnée, avec la valeur spécifiée.


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

Définit une valeur spécifique pour une portion rectangulaire du bitmap.


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

Définit l'élément du bitmap à la position donnée, avec la valeur spécifiée.