QCameraDevice Class

The QCameraDevice class provides general information about camera devices. 更多...

头: #include <QCameraDevice>
CMake: find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia

公共类型

enum Position { UnspecifiedPosition, BackFace, FrontFace }

特性

公共函数

QCameraDevice ()
QCameraDevice (const QCameraDevice & other )
~QCameraDevice ()
QtVideo::Rotation correctionAngle () const
QString description () const
QByteArray id () const
bool isDefault () const
bool isNull () const
QList<QSize> photoResolutions () const
QCameraDevice::Position position () const
QList<QCameraFormat> videoFormats () const
bool operator!= (const QCameraDevice & other ) const
QCameraDevice & operator= (const QCameraDevice & other )
bool operator== (const QCameraDevice & other ) const

详细描述

QCameraDevice represents a physical camera device and its properties.

You can discover what cameras are available on a system using the availableCameras() and defaultCamera() functions. These are contained within QtMultimedia::MediaDevices.

This example prints the name of all available cameras:

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

A QCameraDevice can be used to construct a QCamera . The following example instantiates a QCamera whose camera device is named mycamera :

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

You can also use QCameraDevice to get general information about a camera device such as description and physical position on the system.

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 .

成员类型文档编制

enum QCameraDevice:: Position

This enum specifies the physical position of the camera on the system hardware.

常量 描述
QCameraDevice::UnspecifiedPosition 0 The camera position is unspecified or unknown.
QCameraDevice::BackFace 1 The camera is on the back face of the system hardware. For example on a mobile device, it means it is on the opposite side to that of the screen.
QCameraDevice::FrontFace 2 The camera is on the front face of the system hardware. For example on a mobile device, it means it is on the same side as that of the screen.

另请参阅 position ().

特性文档编制

[read-only, since 6.7] correctionAngle : const QtVideo::Rotation

Returns the rotation angle needed to compensate for the physical camera rotation of the camera compared to its native orientation. In other words, the property represents the clockwise angle through which the output image needs to be rotated to be upright on the device screen in its native orientation. Since correctionAngle is relative to the native orientation, this value does not change with altering the device orientation (portrait/landscape). The correction angle may be non-zero mostly on Android, where native and camera orientations are defined by the manufacturer.

Example with 90 degrees \a correctionAngle

This property was introduced in Qt 6.7.

访问函数:

QtVideo::Rotation correctionAngle () const

[read-only] description : const QString

Returns the human-readable description of the camera.

Use this string to present the device to the user.

访问函数:

QString description () const

[read-only] id : const QByteArray

Returns the device id of the camera

This is a unique ID to identify the camera and may not be human-readable.

访问函数:

QByteArray id () const

[read-only] isDefault : const bool

Returns true if this is the default camera device.

访问函数:

bool isDefault () const

[read-only] position : const Position

Returns the physical position of the camera on the hardware system.

访问函数:

QCameraDevice::Position 位置 () const

[read-only] videoFormats : const QList < QCameraFormat >

Returns the video formats supported by the camera.

访问函数:

QList<QCameraFormat> videoFormats () const

成员函数文档编制

QCameraDevice:: QCameraDevice ()

Constructs a null camera device

QCameraDevice:: QCameraDevice (const QCameraDevice & other )

构造副本为 other .

[noexcept] QCameraDevice:: ~QCameraDevice ()

销毁 QCameraDevice .

bool QCameraDevice:: isNull () const

返回 true,若此 QCameraDevice is null or invalid.

QList < QSize > QCameraDevice:: photoResolutions () const

Returns a list of resolutions that the camera can use to capture still images.

另请参阅 QImageCapture .

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

返回 true,若此 QCameraDevice is different from other .

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

设置 QCameraDevice 对象等于 other .

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

返回 true,若此 QCameraDevice 等于 other .