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

424 lines
20 KiB
ReStructuredText
Raw 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_CameraFeed:
CameraFeed
==========
**Наследует:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
Видеопоток с камеры обеспечивает вам доступ к одной физической камере, подключенной к вашему устройству.
.. rst-class:: classref-introduction-group
Описание
----------------
Канал камеры дает вам доступ к одной физической камере, подключенной к вашему устройству. При включении Godot начнет захватывать кадры с камеры, которые затем можно использовать. См. также :ref:`CameraServer<class_CameraServer>`.
\ **Примечание:** Многие камеры возвращают изображения YCbCr, которые разделены на две текстуры и должны быть объединены в шейдере. Godot делает это автоматически, если вы настроите среду для показа изображения камеры в фоновом режиме.
\ **Примечание:** Этот класс в настоящее время реализован только в Linux, Android, macOS и iOS. На других платформах **CameraFeed** будет недоступен. Чтобы получить **CameraFeed** на iOS, требуется плагин камеры из `godot-ios-plugins <https://github.com/godotengine/godot-ios-plugins>`__.
.. rst-class:: classref-reftable-group
Свойства
----------------
.. table::
:widths: auto
+---------------------------------------+-----------------------------------------------------------------+------------------------------------+
| :ref:`bool<class_bool>` | :ref:`feed_is_active<class_CameraFeed_property_feed_is_active>` | ``false`` |
+---------------------------------------+-----------------------------------------------------------------+------------------------------------+
| :ref:`Transform2D<class_Transform2D>` | :ref:`feed_transform<class_CameraFeed_property_feed_transform>` | ``Transform2D(1, 0, 0, -1, 0, 1)`` |
+---------------------------------------+-----------------------------------------------------------------+------------------------------------+
| :ref:`Array<class_Array>` | :ref:`formats<class_CameraFeed_property_formats>` | ``[]`` |
+---------------------------------------+-----------------------------------------------------------------+------------------------------------+
.. rst-class:: classref-reftable-group
Методы
------------
.. table::
:widths: auto
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_activate_feed<class_CameraFeed_private_method__activate_feed>`\ (\ ) |virtual| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_deactivate_feed<class_CameraFeed_private_method__deactivate_feed>`\ (\ ) |virtual| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`FeedDataType<enum_CameraFeed_FeedDataType>` | :ref:`get_datatype<class_CameraFeed_method_get_datatype>`\ (\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_id<class_CameraFeed_method_get_id>`\ (\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_name<class_CameraFeed_method_get_name>`\ (\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`FeedPosition<enum_CameraFeed_FeedPosition>` | :ref:`get_position<class_CameraFeed_method_get_position>`\ (\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_texture_tex_id<class_CameraFeed_method_get_texture_tex_id>`\ (\ feed_image_type\: :ref:`FeedImage<enum_CameraServer_FeedImage>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_external<class_CameraFeed_method_set_external>`\ (\ width\: :ref:`int<class_int>`, height\: :ref:`int<class_int>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`set_format<class_CameraFeed_method_set_format>`\ (\ index\: :ref:`int<class_int>`, parameters\: :ref:`Dictionary<class_Dictionary>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_name<class_CameraFeed_method_set_name>`\ (\ name\: :ref:`String<class_String>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_position<class_CameraFeed_method_set_position>`\ (\ position\: :ref:`FeedPosition<enum_CameraFeed_FeedPosition>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_rgb_image<class_CameraFeed_method_set_rgb_image>`\ (\ rgb_image\: :ref:`Image<class_Image>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_ycbcr_image<class_CameraFeed_method_set_ycbcr_image>`\ (\ ycbcr_image\: :ref:`Image<class_Image>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Сигналы
--------------
.. _class_CameraFeed_signal_format_changed:
.. rst-class:: classref-signal
**format_changed**\ (\ ) :ref:`🔗<class_CameraFeed_signal_format_changed>`
Выдается при изменении формата.
.. rst-class:: classref-item-separator
----
.. _class_CameraFeed_signal_frame_changed:
.. rst-class:: classref-signal
**frame_changed**\ (\ ) :ref:`🔗<class_CameraFeed_signal_frame_changed>`
Выдается, когда доступен новый кадр.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Перечисления
------------------------
.. _enum_CameraFeed_FeedDataType:
.. rst-class:: classref-enumeration
enum **FeedDataType**: :ref:`🔗<enum_CameraFeed_FeedDataType>`
.. _class_CameraFeed_constant_FEED_NOIMAGE:
.. rst-class:: classref-enumeration-constant
:ref:`FeedDataType<enum_CameraFeed_FeedDataType>` **FEED_NOIMAGE** = ``0``
Изображение для ленты не установлено.
.. _class_CameraFeed_constant_FEED_RGB:
.. rst-class:: classref-enumeration-constant
:ref:`FeedDataType<enum_CameraFeed_FeedDataType>` **FEED_RGB** = ``1``
Канал поставляет изображения RGB.
.. _class_CameraFeed_constant_FEED_YCBCR:
.. rst-class:: classref-enumeration-constant
:ref:`FeedDataType<enum_CameraFeed_FeedDataType>` **FEED_YCBCR** = ``2``
Канал поставляет изображения YCbCr, которые необходимо преобразовать в RGB.
.. _class_CameraFeed_constant_FEED_YCBCR_SEP:
.. rst-class:: classref-enumeration-constant
:ref:`FeedDataType<enum_CameraFeed_FeedDataType>` **FEED_YCBCR_SEP** = ``3``
Канал поставляет отдельные изображения Y и CbCr, которые необходимо объединить и преобразовать в RGB.
.. _class_CameraFeed_constant_FEED_EXTERNAL:
.. rst-class:: classref-enumeration-constant
:ref:`FeedDataType<enum_CameraFeed_FeedDataType>` **FEED_EXTERNAL** = ``4``
Канал поставляет внешнее изображение.
.. rst-class:: classref-item-separator
----
.. _enum_CameraFeed_FeedPosition:
.. rst-class:: classref-enumeration
enum **FeedPosition**: :ref:`🔗<enum_CameraFeed_FeedPosition>`
.. _class_CameraFeed_constant_FEED_UNSPECIFIED:
.. rst-class:: classref-enumeration-constant
:ref:`FeedPosition<enum_CameraFeed_FeedPosition>` **FEED_UNSPECIFIED** = ``0``
Неуказанная должность.
.. _class_CameraFeed_constant_FEED_FRONT:
.. rst-class:: classref-enumeration-constant
:ref:`FeedPosition<enum_CameraFeed_FeedPosition>` **FEED_FRONT** = ``1``
Камера установлена на передней части устройства.
.. _class_CameraFeed_constant_FEED_BACK:
.. rst-class:: classref-enumeration-constant
:ref:`FeedPosition<enum_CameraFeed_FeedPosition>` **FEED_BACK** = ``2``
Камера установлена на задней панели устройства.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания свойств
--------------------------------
.. _class_CameraFeed_property_feed_is_active:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **feed_is_active** = ``false`` :ref:`🔗<class_CameraFeed_property_feed_is_active>`
.. rst-class:: classref-property-setget
- |void| **set_active**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_active**\ (\ )
Если ``true``, канал активен.
.. rst-class:: classref-item-separator
----
.. _class_CameraFeed_property_feed_transform:
.. rst-class:: classref-property
:ref:`Transform2D<class_Transform2D>` **feed_transform** = ``Transform2D(1, 0, 0, -1, 0, 1)`` :ref:`🔗<class_CameraFeed_property_feed_transform>`
.. rst-class:: classref-property-setget
- |void| **set_transform**\ (\ value\: :ref:`Transform2D<class_Transform2D>`\ )
- :ref:`Transform2D<class_Transform2D>` **get_transform**\ (\ )
Преобразование, примененное к изображению с камеры.
.. rst-class:: classref-item-separator
----
.. _class_CameraFeed_property_formats:
.. rst-class:: classref-property
:ref:`Array<class_Array>` **formats** = ``[]`` :ref:`🔗<class_CameraFeed_property_formats>`
.. rst-class:: classref-property-setget
- :ref:`Array<class_Array>` **get_formats**\ (\ )
Форматы, поддерживаемые каналом. Каждая запись — это ``Словарь (Dictionary)``, описывающий параметры формата.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания метода
------------------------------
.. _class_CameraFeed_private_method__activate_feed:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_activate_feed**\ (\ ) |virtual| :ref:`🔗<class_CameraFeed_private_method__activate_feed>`
Вызывается при активации камеры.
.. rst-class:: classref-item-separator
----
.. _class_CameraFeed_private_method__deactivate_feed:
.. rst-class:: classref-method
|void| **_deactivate_feed**\ (\ ) |virtual| :ref:`🔗<class_CameraFeed_private_method__deactivate_feed>`
Вызывается при отключении камеры.
.. rst-class:: classref-item-separator
----
.. _class_CameraFeed_method_get_datatype:
.. rst-class:: classref-method
:ref:`FeedDataType<enum_CameraFeed_FeedDataType>` **get_datatype**\ (\ ) |const| :ref:`🔗<class_CameraFeed_method_get_datatype>`
Возвращает тип данных изображения канала.
.. rst-class:: classref-item-separator
----
.. _class_CameraFeed_method_get_id:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_id**\ (\ ) |const| :ref:`🔗<class_CameraFeed_method_get_id>`
Возвращает уникальный идентификатор для этого канала.
.. rst-class:: classref-item-separator
----
.. _class_CameraFeed_method_get_name:
.. rst-class:: classref-method
:ref:`String<class_String>` **get_name**\ (\ ) |const| :ref:`🔗<class_CameraFeed_method_get_name>`
Возвращает имя камеры.
.. rst-class:: classref-item-separator
----
.. _class_CameraFeed_method_get_position:
.. rst-class:: classref-method
:ref:`FeedPosition<enum_CameraFeed_FeedPosition>` **get_position**\ (\ ) |const| :ref:`🔗<class_CameraFeed_method_get_position>`
Возвращает положение камеры на устройстве.
.. rst-class:: classref-item-separator
----
.. _class_CameraFeed_method_get_texture_tex_id:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_texture_tex_id**\ (\ feed_image_type\: :ref:`FeedImage<enum_CameraServer_FeedImage>`\ ) :ref:`🔗<class_CameraFeed_method_get_texture_tex_id>`
Возвращает идентификатор бэкэнда текстуры (может использоваться некоторыми внешними библиотеками, которым требуется дескриптор текстуры для записи данных).
.. rst-class:: classref-item-separator
----
.. _class_CameraFeed_method_set_external:
.. rst-class:: classref-method
|void| **set_external**\ (\ width\: :ref:`int<class_int>`, height\: :ref:`int<class_int>`\ ) :ref:`🔗<class_CameraFeed_method_set_external>`
Устанавливает канал как внешний канал, предоставляемый другой библиотекой.
.. rst-class:: classref-item-separator
----
.. _class_CameraFeed_method_set_format:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **set_format**\ (\ index\: :ref:`int<class_int>`, parameters\: :ref:`Dictionary<class_Dictionary>`\ ) :ref:`🔗<class_CameraFeed_method_set_format>`
Устанавливает параметры формата потока для указанного ``index`` в массиве :ref:`formats<class_CameraFeed_property_formats>`. Возвращает ``true`` в случае успешного выполнения. По умолчанию поток, закодированный в формате YUYV, преобразуется в :ref:`FEED_RGB<class_CameraFeed_constant_FEED_RGB>`. Формат выходного потока, закодированного в формате YUYV, можно изменить, установив для записи ``output`` в ``parameters[code``] одно из следующих значений:
- ``"separate"`` приведёт к :ref:`FEED_YCBCR_SEP<class_CameraFeed_constant_FEED_YCBCR_SEP>`;
- ``"grayscale"`` приведёт к обесцвечиванию :ref:`FEED_RGB<class_CameraFeed_constant_FEED_RGB>`;
- ``"copy"`` приведёт к :ref:`FEED_YCBCR<class_CameraFeed_constant_FEED_YCBCR>`.
.. rst-class:: classref-item-separator
----
.. _class_CameraFeed_method_set_name:
.. rst-class:: classref-method
|void| **set_name**\ (\ name\: :ref:`String<class_String>`\ ) :ref:`🔗<class_CameraFeed_method_set_name>`
Задает имя камеры.
.. rst-class:: classref-item-separator
----
.. _class_CameraFeed_method_set_position:
.. rst-class:: classref-method
|void| **set_position**\ (\ position\: :ref:`FeedPosition<enum_CameraFeed_FeedPosition>`\ ) :ref:`🔗<class_CameraFeed_method_set_position>`
Устанавливает положение этой камеры.
.. rst-class:: classref-item-separator
----
.. _class_CameraFeed_method_set_rgb_image:
.. rst-class:: classref-method
|void| **set_rgb_image**\ (\ rgb_image\: :ref:`Image<class_Image>`\ ) :ref:`🔗<class_CameraFeed_method_set_rgb_image>`
Устанавливает RGB-изображение для этого канала.
.. rst-class:: classref-item-separator
----
.. _class_CameraFeed_method_set_ycbcr_image:
.. rst-class:: classref-method
|void| **set_ycbcr_image**\ (\ ycbcr_image\: :ref:`Image<class_Image>`\ ) :ref:`🔗<class_CameraFeed_method_set_ycbcr_image>`
Устанавливает изображение YCbCr для этого канала.
.. |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 (Нет возвращаемого значения.)`