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

Eredita: Resource < RefCounted < Object

Matrice booleana.

Descrizione

Un array bidimensionale di valori booleani, può essere utilizzato per memorizzare in modo efficiente una matrice binaria (ogni elemento della matrice occupa un solo bit) e interrogare i valori utilizzando le coordinate cartesiane naturali.

Metodi

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)


Descrizioni dei metodi

Image convert_to_image() const 🔗

Restituisce un'immagine delle stesse dimensioni della bitmap e con un Format di tipo Image.FORMAT_L8. I bit true della bitmap vengono convertiti in pixel bianchi, mentre i bit false in pixel neri.


void create(size: Vector2i) 🔗

Crea una bitmap con la dimensione specificata, riempita con il valore false.


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

Crea una bitmap che corrisponde alle dimensioni dell'immagine specificate, ogni elemento della bitmap è impostato su false se il valore alfa dell'immagine in quella posizione è inferiore o uguale a threshold, e true altrimenti.


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

Restituisce il valore della bitmap alla posizione specificata.


bool get_bitv(position: Vector2i) const 🔗

Restituisce il valore della bitmap alla posizione specificata.


Vector2i get_size() const 🔗

Restituisce le dimensioni della bitmap.


int get_true_bit_count() const 🔗

Restituisce il numero degli elementi di bitmap che sono impostati su true.


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

Applica una dilatazione o un'erosione morfologica alla bitmap. Se pixels è positivo, la dilatazione viene applicata alla bitmap. Se pixels è negativo, l'erosione viene applicata alla bitmap. rect definisce l'area in cui viene applicata l'operazione morfologica. I pixel situati all'esterno di rect non sono influenzati da grow_mask().


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

Crea un Array di poligoni che coprono una porzione rettangolare della bitmap. Utilizza un algoritmo "marching squares", seguito dalla riduzione di Ramer-Douglas-Peucker (RDP) del numero di vertici. Ogni poligono è descritto come un PackedVector2Array dei suoi vertici.

Per ottenere poligoni che coprono l'intera bitmap, passa:

Rect2(Vector2(), get_size())

epsilon viene passato a RDP per controllare la precisione con cui i poligoni coprono la bitmap: un epsilon inferiore corrisponde a più punti nei poligoni.


void resize(new_size: Vector2i) 🔗

Ridimensiona l'immagine a new_size.


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

Imposta l'elemento della bitmap alla posizione specificata, sul valore specificato.


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

Imposta un valore specificato per una porzione rettangolare della bitmap.


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

Imposta l'elemento della bitmap alla posizione specificata, sul valore specificato.