CameraFeed
繼承: RefCounted < Object
通過相機源,你可以存取連接到裝置的單個物理相機。
說明
A camera feed gives you access to a single physical camera attached to your device. When enabled, Godot will start capturing frames from the camera which can then be used. See also CameraServer.
Note: Many cameras will return YCbCr images which are split into two textures and need to be combined in a shader. Godot does this automatically for you if you set the environment to show the camera image in the background.
Note: This class is currently only implemented on Linux, Android, macOS, and iOS. On other platforms no CameraFeeds will be available. To get a CameraFeed on iOS, the camera plugin from godot-ios-plugins is required.
屬性
|
||
|
||
|
方法
_activate_feed() virtual |
|
void |
_deactivate_feed() virtual |
get_datatype() const |
|
get_id() const |
|
get_name() const |
|
get_position() const |
|
get_texture_tex_id(feed_image_type: FeedImage) |
|
void |
set_external(width: int, height: int) |
set_format(index: int, parameters: Dictionary) |
|
void |
|
void |
set_position(position: FeedPosition) |
void |
set_rgb_image(rgb_image: Image) |
void |
set_ycbcr_image(ycbcr_image: Image) |
訊號
format_changed() 🔗
Emitted when the format has changed.
frame_changed() 🔗
Emitted when a new frame is available.
列舉
enum FeedDataType: 🔗
FeedDataType FEED_NOIMAGE = 0
沒有為該源設定圖像。
FeedDataType FEED_RGB = 1
源提供 RGB 圖像。
FeedDataType FEED_YCBCR = 2
源提供的 YCbCr 圖像需要轉換成 RGB 圖像。
FeedDataType FEED_YCBCR_SEP = 3
源提供單獨的 Y 和 CbCr 圖像,需要合併並轉換為 RGB。
FeedDataType FEED_EXTERNAL = 4
Feed supplies external image.
enum FeedPosition: 🔗
FeedPosition FEED_UNSPECIFIED = 0
未指定座標。
FeedPosition FEED_FRONT = 1
相機安裝在了裝置前部。
FeedPosition FEED_BACK = 2
相機安裝在了裝置後部。
屬性說明
如果為 true,則源是啟動的。
Transform2D feed_transform = Transform2D(1, 0, 0, -1, 0, 1) 🔗
void set_transform(value: Transform2D)
Transform2D get_transform()
套用於相機圖像的變換。
Array get_formats()
Formats supported by the feed. Each entry is a Dictionary describing format parameters.
方法說明
bool _activate_feed() virtual 🔗
Called when the camera feed is activated.
void _deactivate_feed() virtual 🔗
Called when the camera feed is deactivated.
FeedDataType get_datatype() const 🔗
返回源圖像的資料型別。
返回該源的唯一ID。
返回相機的名稱。
FeedPosition get_position() const 🔗
返回裝置上的相機位置。
int get_texture_tex_id(feed_image_type: FeedImage) 🔗
Returns the texture backend ID (usable by some external libraries that need a handle to a texture to write data).
void set_external(width: int, height: int) 🔗
Sets the feed as external feed provided by another library.
bool set_format(index: int, parameters: Dictionary) 🔗
Sets the feed format parameters for the given index in the formats array. Returns true on success. By default, the YUYV encoded stream is transformed to FEED_RGB. The YUYV encoded stream output format can be changed by setting parameters's output entry to one of the following:
"separate"will result in FEED_YCBCR_SEP;"grayscale"will result in desaturated FEED_RGB;"copy"will result in FEED_YCBCR.
Sets the camera's name.
void set_position(position: FeedPosition) 🔗
Sets the position of this camera.
void set_rgb_image(rgb_image: Image) 🔗
Sets RGB image for this feed.
void set_ycbcr_image(ycbcr_image: Image) 🔗
Sets YCbCr image for this feed.