:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/3.6/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/3.6/doc/classes/BitMap.xml. .. _class_BitMap: BitMap ====== **Inherits:** :ref:`Resource` **<** :ref:`Reference` **<** :ref:`Object` Boolean matrix. .. rst-class:: classref-introduction-group Description ----------- A two-dimensional array of boolean values, can be used to efficiently store a binary matrix (every matrix element takes only one bit) and query the values using natural cartesian coordinates. .. rst-class:: classref-reftable-group Methods ------- .. table:: :widths: auto +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Image` | :ref:`convert_to_image` **(** **)** |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`create` **(** :ref:`Vector2` size **)** | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`create_from_image_alpha` **(** :ref:`Image` image, :ref:`float` threshold=0.1 **)** | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`get_bit` **(** :ref:`Vector2` position **)** |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_size` **(** **)** |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_true_bit_count` **(** **)** |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`grow_mask` **(** :ref:`int` pixels, :ref:`Rect2` rect **)** | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`opaque_to_polygons` **(** :ref:`Rect2` rect, :ref:`float` epsilon=2.0 **)** |const| | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`resize` **(** :ref:`Vector2` new_size **)** | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_bit` **(** :ref:`Vector2` position, :ref:`bool` bit **)** | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_bit_rect` **(** :ref:`Rect2` rect, :ref:`bool` bit **)** | +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Method Descriptions ------------------- .. _class_BitMap_method_convert_to_image: .. rst-class:: classref-method :ref:`Image` **convert_to_image** **(** **)** |const| Returns an image of the same size as the bitmap and with a :ref:`Format` of type ``FORMAT_L8``. ``true`` bits of the bitmap are being converted into white pixels, and ``false`` bits into black. .. rst-class:: classref-item-separator ---- .. _class_BitMap_method_create: .. rst-class:: classref-method void **create** **(** :ref:`Vector2` size **)** Creates a bitmap with the specified size, filled with ``false``. .. rst-class:: classref-item-separator ---- .. _class_BitMap_method_create_from_image_alpha: .. rst-class:: classref-method void **create_from_image_alpha** **(** :ref:`Image` image, :ref:`float` threshold=0.1 **)** Creates a bitmap that matches the given image dimensions, every element of the bitmap is set to ``false`` if the alpha value of the image at that position is equal to ``threshold`` or less, and ``true`` in other case. .. rst-class:: classref-item-separator ---- .. _class_BitMap_method_get_bit: .. rst-class:: classref-method :ref:`bool` **get_bit** **(** :ref:`Vector2` position **)** |const| Returns bitmap's value at the specified position. .. rst-class:: classref-item-separator ---- .. _class_BitMap_method_get_size: .. rst-class:: classref-method :ref:`Vector2` **get_size** **(** **)** |const| Returns bitmap's dimensions. .. rst-class:: classref-item-separator ---- .. _class_BitMap_method_get_true_bit_count: .. rst-class:: classref-method :ref:`int` **get_true_bit_count** **(** **)** |const| Returns the amount of bitmap elements that are set to ``true``. .. rst-class:: classref-item-separator ---- .. _class_BitMap_method_grow_mask: .. rst-class:: classref-method void **grow_mask** **(** :ref:`int` pixels, :ref:`Rect2` rect **)** Applies morphological dilation or erosion to the bitmap. If ``pixels`` is positive, dilation is applied to the bitmap. If ``pixels`` is negative, erosion is applied to the bitmap. ``rect`` defines the area where the morphological operation is applied. Pixels located outside the ``rect`` are unaffected by :ref:`grow_mask`. .. rst-class:: classref-item-separator ---- .. _class_BitMap_method_opaque_to_polygons: .. rst-class:: classref-method :ref:`Array` **opaque_to_polygons** **(** :ref:`Rect2` rect, :ref:`float` epsilon=2.0 **)** |const| .. container:: contribute There is currently no description for this method. Please help us by :ref:`contributing one `! .. rst-class:: classref-item-separator ---- .. _class_BitMap_method_resize: .. rst-class:: classref-method void **resize** **(** :ref:`Vector2` new_size **)** Resizes the image to ``new_size``. .. rst-class:: classref-item-separator ---- .. _class_BitMap_method_set_bit: .. rst-class:: classref-method void **set_bit** **(** :ref:`Vector2` position, :ref:`bool` bit **)** Sets the bitmap's element at the specified position, to the specified value. .. rst-class:: classref-item-separator ---- .. _class_BitMap_method_set_bit_rect: .. rst-class:: classref-method void **set_bit_rect** **(** :ref:`Rect2` rect, :ref:`bool` bit **)** Sets a rectangular portion of the bitmap to the specified value. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`