QCameraDevice 类

QCameraDevice 类提供有关相机设备的一般信息。 更多...

头部 #include <QCameraDevice>
CMakefind_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmakeQT += multimedia

公共类型

枚举Position { 未指定位置,背面,正面 }

属性

公共函数

QCameraDevice()
QCameraDevice(const QCameraDevice &other)
~QCameraDevice()
QtVideo::RotationcorrectionAngle() const
QStringdescription() const
QByteArrayid() const
boolisDefault() const
boolisNull() const
QList<QSize>photoResolutions() const
QCameraDevice::Positionposition() const
QList<QCameraFormat>videoFormats() const
booloperator!=(const QCameraDevice &other) const
QCameraDevice &operator=(const QCameraDevice &other)
booloperator==(const QCameraDevice &other) const

详细描述

QCameraDevice 表示物理相机设备和其属性。

您可以使用可用的相机和默认相机函数发现系统上可用的相机。这些包含在 QtMultimedia::MediaDevices 中。

以下示例打印所有可用相机的名称

const QList<QCameraDevice> cameras = QMediaDevices::videoInputs();
for (const QCameraDevice &cameraDevice : cameras)
    qDebug() << cameraDevice.description();

可以使用 QCameraDevice 创建 QCamera。以下示例实例化一个名为 mycameraQCamera

const QList<QCameraDevice> cameras = QMediaDevices::videoInputs();
for (const QCameraDevice &cameraDevice : cameras) {
    if (cameraDevice.description() == "mycamera")
        camera = new QCamera(cameraDevice);
}

您还可以使用 QCameraDevice 获取有关相机设备的一般信息,例如描述和系统上的物理位置。

QCamera myCamera;
QCameraDevice cameraDevice = camera->cameraDevice();

if (cameraDevice.position() == QCameraDevice::FrontFace)
    qDebug() << "The camera is on the front face of the hardware system.";
else if (cameraDevice.position() == QCameraDevice::BackFace)
    qDebug() << "The camera is on the back face of the hardware system.";

另请参阅QCamera.

成员类型文档

枚举 QCameraDevice::Position

该枚举指定了相机在系统硬件上的物理位置。

常量描述
QCameraDevice::UnspecifiedPosition0相机位置未指定或未知。
QCameraDevice::BackFace1相机位于系统硬件的后面。例如,在移动设备上,这意味着它位于屏幕的对面。
QCameraDevice::FrontFace2相机位于系统硬件的前面。例如,在移动设备上,这意味着它位于屏幕的同侧。

另请参阅位置

属性文档

[只读,自6.7版起] correctionAngle : const QtVideo::Rotation

返回用于补偿相机相对于其原始方向的物理旋转所需的旋转角度。换句话说,该属性表示输出图像需要顺时针旋转多少角度以达到设备屏幕上其原始方向的直立状态。由于correctionAngle是相对于原始方向,因此该值不会随着设备方向的更改(纵向/横向)而改变。校正角度在Android上可能非零,因为原始方向和相机方向由制造商定义。

Example with 90 degrees \a correctionAngle

此属性是在Qt 6.7中引入的。

访问函数

QtVideo::RotationcorrectionAngle() const

[只读] description : const QString

返回相机的供人类阅读的描述。

使用此字符串向用户展示设备。

访问函数

QStringdescription() const

[只读] id : const QByteArray

返回相机的设备ID。

这是用于识别相机的唯一ID,可能不是人类可读的。

访问函数

QByteArrayid() const

[只读] isDefault : const bool

如果这是默认相机设备,则返回true。

访问函数

boolisDefault() const

[只读] position : const Position

返回相机在硬件系统上的物理位置。

访问函数

QCameraDevice::Positionposition() const

[只读] videoFormats : const QList<QCameraFormat>

返回相机支持的视频格式。

访问函数

QList<QCameraFormat>videoFormats() const

成员函数文档

QCameraDevice::QCameraDevice()

构建一个空相机设备

QCameraDevice::QCameraDevice(const QCameraDevice &other)

构建other的一个副本。

[noexcept] QCameraDevice::~QCameraDevice()

销毁QCameraDevice

bool QCameraDevice::isNull() const

如果此 QCameraDevice 对象为空或无效,则返回 true。

QList<QSize> QCameraDevice::photoResolutions() const

返回相机可用以捕获静态图像的分辨率列表。

另请参阅QImageCapture.

bool QCameraDevice::operator!=(const QCameraDevice &other) const

如果此 QCameraDevice其他 不同,则返回 true。

QCameraDevice &QCameraDevice::operator=(const QCameraDevice &other)

QCameraDevice 对象设置为等于 其他

bool QCameraDevice::operator==(const QCameraDevice &other) const

如果此 QCameraDevice 等于 其他,则返回 true。

© 2024 The Qt Company Ltd. 本文档中的贡献属于其各自所有者。提供的文档在自由软件基金会发布的 GNU 自由文档许可证 1.3 版 条件下许可。Qt 和相关标志是 The Qt Company Ltd. 在芬兰和其他国家/地区的商标。所有其他商标均为各自所有者的财产。