Files
godot-docs-l10n/classes/ru/class_bitmap.rst

233 lines
16 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:github_url: hide
.. _class_BitMap:
BitMap
======
**Наследует:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
Логическая матрица.
.. rst-class:: classref-introduction-group
Описание
----------------
Двумерный массив логических значений можно использовать для эффективного хранения двоичной матрицы (каждый элемент матрицы занимает только один бит) и запроса значений с использованием естественных декартовых координат.
.. rst-class:: classref-reftable-group
Методы
------------
.. table::
:widths: auto
+----------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Image<class_Image>` | :ref:`convert_to_image<class_BitMap_method_convert_to_image>`\ (\ ) |const| |
+----------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`create<class_BitMap_method_create>`\ (\ size\: :ref:`Vector2i<class_Vector2i>`\ ) |
+----------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`create_from_image_alpha<class_BitMap_method_create_from_image_alpha>`\ (\ image\: :ref:`Image<class_Image>`, threshold\: :ref:`float<class_float>` = 0.1\ ) |
+----------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`get_bit<class_BitMap_method_get_bit>`\ (\ x\: :ref:`int<class_int>`, y\: :ref:`int<class_int>`\ ) |const| |
+----------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`get_bitv<class_BitMap_method_get_bitv>`\ (\ position\: :ref:`Vector2i<class_Vector2i>`\ ) |const| |
+----------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2i<class_Vector2i>` | :ref:`get_size<class_BitMap_method_get_size>`\ (\ ) |const| |
+----------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_true_bit_count<class_BitMap_method_get_true_bit_count>`\ (\ ) |const| |
+----------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`grow_mask<class_BitMap_method_grow_mask>`\ (\ pixels\: :ref:`int<class_int>`, rect\: :ref:`Rect2i<class_Rect2i>`\ ) |
+----------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>`\[:ref:`PackedVector2Array<class_PackedVector2Array>`\] | :ref:`opaque_to_polygons<class_BitMap_method_opaque_to_polygons>`\ (\ rect\: :ref:`Rect2i<class_Rect2i>`, epsilon\: :ref:`float<class_float>` = 2.0\ ) |const| |
+----------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`resize<class_BitMap_method_resize>`\ (\ new_size\: :ref:`Vector2i<class_Vector2i>`\ ) |
+----------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_bit<class_BitMap_method_set_bit>`\ (\ x\: :ref:`int<class_int>`, y\: :ref:`int<class_int>`, bit\: :ref:`bool<class_bool>`\ ) |
+----------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_bit_rect<class_BitMap_method_set_bit_rect>`\ (\ rect\: :ref:`Rect2i<class_Rect2i>`, bit\: :ref:`bool<class_bool>`\ ) |
+----------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_bitv<class_BitMap_method_set_bitv>`\ (\ position\: :ref:`Vector2i<class_Vector2i>`, bit\: :ref:`bool<class_bool>`\ ) |
+----------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания метода
------------------------------
.. _class_BitMap_method_convert_to_image:
.. rst-class:: classref-method
:ref:`Image<class_Image>` **convert_to_image**\ (\ ) |const| :ref:`🔗<class_BitMap_method_convert_to_image>`
Возвращает изображение того же размера, что и растровое изображение, и с :ref:`Format<enum_Image_Format>` типа :ref:`Image.FORMAT_L8<class_Image_constant_FORMAT_L8>`. ``true`` битов растрового изображения преобразуются в белые пиксели, а ``false`` битов — в черные.
.. rst-class:: classref-item-separator
----
.. _class_BitMap_method_create:
.. rst-class:: classref-method
|void| **create**\ (\ size\: :ref:`Vector2i<class_Vector2i>`\ ) :ref:`🔗<class_BitMap_method_create>`
Создает растровое изображение указанного размера, заполненное ``false``.
.. rst-class:: classref-item-separator
----
.. _class_BitMap_method_create_from_image_alpha:
.. rst-class:: classref-method
|void| **create_from_image_alpha**\ (\ image\: :ref:`Image<class_Image>`, threshold\: :ref:`float<class_float>` = 0.1\ ) :ref:`🔗<class_BitMap_method_create_from_image_alpha>`
Создает растровое изображение, которое соответствует заданным размерам изображения. Каждому элементу растрового изображения присваивается значение ``false``, если альфа-значение изображения в этой позиции равно ``threshold`` или меньше, и ``true`` в противном случае.
.. rst-class:: classref-item-separator
----
.. _class_BitMap_method_get_bit:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **get_bit**\ (\ x\: :ref:`int<class_int>`, y\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_BitMap_method_get_bit>`
Возвращает значение растрового изображения в указанной позиции.
.. rst-class:: classref-item-separator
----
.. _class_BitMap_method_get_bitv:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **get_bitv**\ (\ position\: :ref:`Vector2i<class_Vector2i>`\ ) |const| :ref:`🔗<class_BitMap_method_get_bitv>`
Возвращает значение растрового изображения в указанной позиции.
.. rst-class:: classref-item-separator
----
.. _class_BitMap_method_get_size:
.. rst-class:: classref-method
:ref:`Vector2i<class_Vector2i>` **get_size**\ (\ ) |const| :ref:`🔗<class_BitMap_method_get_size>`
Возвращает размеры изображения.
.. rst-class:: classref-item-separator
----
.. _class_BitMap_method_get_true_bit_count:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_true_bit_count**\ (\ ) |const| :ref:`🔗<class_BitMap_method_get_true_bit_count>`
Возвращает количество элементов растрового изображения, для которых установлено значение ``true``.
.. rst-class:: classref-item-separator
----
.. _class_BitMap_method_grow_mask:
.. rst-class:: classref-method
|void| **grow_mask**\ (\ pixels\: :ref:`int<class_int>`, rect\: :ref:`Rect2i<class_Rect2i>`\ ) :ref:`🔗<class_BitMap_method_grow_mask>`
Применяет морфологическое расширение или эрозию к битовой карте. Если ``pixels`` положительный, к битовой карте применяется расширение. Если ``pixels`` отрицательный, к битовой карте применяется эрозия. ``rect`` определяет область, к которой применяется морфологическая операция. Пиксели, расположенные за пределами ``rect``, не затрагиваются :ref:`grow_mask()<class_BitMap_method_grow_mask>`.
.. rst-class:: classref-item-separator
----
.. _class_BitMap_method_opaque_to_polygons:
.. rst-class:: classref-method
:ref:`Array<class_Array>`\[:ref:`PackedVector2Array<class_PackedVector2Array>`\] **opaque_to_polygons**\ (\ rect\: :ref:`Rect2i<class_Rect2i>`, epsilon\: :ref:`float<class_float>` = 2.0\ ) |const| :ref:`🔗<class_BitMap_method_opaque_to_polygons>`
Создает :ref:`Array<class_Array>` полигонов, покрывающих прямоугольную часть битовой карты. Он использует алгоритм марширующих квадратов, за которым следует сокращение числа вершин по Рамеру-Дугласу-Пейкеру (RDP). Каждый полигон описывается как :ref:`PackedVector2Array<class_PackedVector2Array>` его вершин.
Чтобы получить полигоны, покрывающие всю битовую карту, передайте:
::
Rect2(Vector2(), get_size())
\ ``epsilon`` передается в RDP для управления точностью покрытия битовой карты полигонами: более низкий ``epsilon`` соответствует большему количеству точек в полигонах.
.. rst-class:: classref-item-separator
----
.. _class_BitMap_method_resize:
.. rst-class:: classref-method
|void| **resize**\ (\ new_size\: :ref:`Vector2i<class_Vector2i>`\ ) :ref:`🔗<class_BitMap_method_resize>`
Изменяет размер изображения до ``new_size``.
.. rst-class:: classref-item-separator
----
.. _class_BitMap_method_set_bit:
.. rst-class:: classref-method
|void| **set_bit**\ (\ x\: :ref:`int<class_int>`, y\: :ref:`int<class_int>`, bit\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_BitMap_method_set_bit>`
Устанавливает элемент растрового изображения в указанной позиции в указанное значение.
.. rst-class:: classref-item-separator
----
.. _class_BitMap_method_set_bit_rect:
.. rst-class:: classref-method
|void| **set_bit_rect**\ (\ rect\: :ref:`Rect2i<class_Rect2i>`, bit\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_BitMap_method_set_bit_rect>`
Устанавливает прямоугольную часть растрового изображения на указанное значение.
.. rst-class:: classref-item-separator
----
.. _class_BitMap_method_set_bitv:
.. rst-class:: classref-method
|void| **set_bitv**\ (\ position\: :ref:`Vector2i<class_Vector2i>`, bit\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_BitMap_method_set_bitv>`
Устанавливает элемент растрового изображения в указанной позиции в указанное значение.
.. |virtual| replace:: :abbr:`virtual (Этот метод обычно должен быть переопределен пользователем, чтобы иметь какой-либо эффект.)`
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
.. |const| replace:: :abbr:`const (Этот метод не имеет побочных эффектов. Он не изменяет ни одну из переменных-членов экземпляра.)`
.. |vararg| replace:: :abbr:`vararg (Этот метод принимает любое количество аргументов после описанных здесь.)`
.. |constructor| replace:: :abbr:`constructor (Этот метод используется для создания типа.)`
.. |static| replace:: :abbr:`static (Этот метод не нуждается в вызове экземпляра, поэтому его можно вызвать напрямую, используя имя класса.)`
.. |operator| replace:: :abbr:`operator (Этот метод описывает допустимый оператор для использования с этим типом в качестве левого операнда.)`
.. |bitfield| replace:: :abbr:`BitField (Это значение является целым числом, составленным как битовая маска следующих флагов.)`
.. |void| replace:: :abbr:`void (Нет возвращаемого значения.)`