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, float threshold=0.1 ) |
get_size ( ) const |
|
get_true_bit_count ( ) const |
|
void |
|
opaque_to_polygons ( Rect2i rect, float epsilon=2.0 ) const |
|
void |
|
void |
|
void |
set_bit_rect ( Rect2i rect, bool bit ) |
void |
方法说明¶
Image convert_to_image ( ) const
返回与该位图大小相同且具有 Image.FORMAT_L8 类型的 Format 的图像。该位图中的 true
位被转换为白色像素,false
位被转换为黑色像素。
void create ( Vector2i size )
创建一个指定尺寸的位图,用 false
填充。
void create_from_image_alpha ( Image image, float threshold=0.1 )
创建一个匹配给定图像大小的位图,如果该位图的 Alpha 值等于或小于 threshold
,则位图的每个元素都被设置为 false
;否则被设置为 true
。
bool get_bit ( int x, int y ) const
返回位图在指定位置的值。
bool get_bitv ( Vector2i position ) const
返回位图在指定位置的值。
Vector2i get_size ( ) const
返回位图的尺寸。
int get_true_bit_count ( ) const
返回设置为 true
的位图元素的数量。
void grow_mask ( int pixels, Rect2i rect )
对位图进行形态学膨胀或腐蚀操作。如果 pixels
为正,则对位图执行膨胀。如果 pixels
为负,则对位图执行腐蚀。rect
定义进行形态学操作的区域。位于 rect
] 之外的像素不会被 grow_mask 影响。
PackedVector2Array[] opaque_to_polygons ( Rect2i rect, float epsilon=2.0 ) const
创建一个多边形 Array,以覆盖位图的矩形部分。它使用行进方块算法,然后使用 Ramer-Douglas-Peucker(RDP)减少顶点数。每个多边形都被描述为其顶点的 PackedVector2Array。
要获取覆盖整个位图的多边形,请传递:
Rect2(Vector2(), get_size())
epsilon
被传递给 RDP,以控制多边形覆盖位图的准确程度:epsilon
越低,对应的多边形中的点越多。
void resize ( Vector2i new_size )
将该图像的大小修改为 new_size
。
void set_bit ( int x, int y, bool bit )
将位图中指定位置的元素设置为指定值。
void set_bit_rect ( Rect2i rect, bool bit )
将位图的矩形部分设置为指定值。
void set_bitv ( Vector2i position, bool bit )
将位图中指定位置的元素设置为指定值。