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
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 |
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.
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.
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.