QCameraExposureControl Class

The QCameraExposureControl class allows controlling camera exposure parameters. More...

Header: #include <QCameraExposureControl>
qmake: QT += multimedia
Inherits: QMediaControl

Public Types

enum ExposureParameter { ISO, Aperture, ShutterSpeed, ExposureCompensation, FlashPower, …, ExtendedExposureParameter }

Public Functions

virtual ~QCameraExposureControl()
virtual QVariant actualValue(QCameraExposureControl::ExposureParameter parameter) const = 0
virtual bool isParameterSupported(QCameraExposureControl::ExposureParameter parameter) const = 0
virtual QVariant requestedValue(QCameraExposureControl::ExposureParameter parameter) const = 0
virtual bool setValue(QCameraExposureControl::ExposureParameter parameter, const QVariant &value) = 0
virtual QVariantList supportedParameterRange(QCameraExposureControl::ExposureParameter parameter, bool *continuous) const = 0

Signals

void actualValueChanged(int parameter)
void parameterRangeChanged(int parameter)
void requestedValueChanged(int parameter)

Protected Functions

QCameraExposureControl(QObject *parent = nullptr)

Macros

QCameraExposureControl_iid

Detailed Description

The QCameraExposure class is the usual method of adjusting exposure related parameters when using camera functionality. This class provides a more complete but less easy to use interface, and also forms the interface to implement when writing a new implementation of QCamera functionality.

You can adjust a number of parameters that will affect images and video taken with the corresponding QCamera object - see the ExposureParameter enumeration.

The interface name of QCameraExposureControl is org.qt-project.qt.cameraexposurecontrol/5.0 as defined in QCameraExposureControl_iid.

See also QCameraExposure and QCamera.

Member Type Documentation

enum QCameraExposureControl::ExposureParameter

Constant Value Description
QCameraExposureControl::ISO 0 Camera ISO sensitivity, specified as integer value.
QCameraExposureControl::Aperture 1 Lens aperture is specified as an qreal F number. The supported apertures list can change depending on the focal length, in such a case the exposureParameterRangeChanged() signal is emitted.
QCameraExposureControl::ShutterSpeed 2 Shutter speed in seconds, specified as qreal.
QCameraExposureControl::ExposureCompensation 3 Exposure compensation, specified as qreal EV value.
QCameraExposureControl::FlashPower 4 Manual flash power, specified as qreal value. Accepted power range is [0..1.0], with 0 value means no flash and 1.0 corresponds to full flash power.

This value is only used in the manual flash mode.

Constant Value Description
QCameraExposureControl::TorchPower 6 Manual torch power, specified as qreal value. Accepted power range is [0..1.0], with 0 value means no light and 1.0 corresponds to full torch power.

This value is only used in the torch flash mode.

Constant Value Description
QCameraExposureControl::FlashCompensation 5 Flash compensation, specified as qreal EV value.
QCameraExposureControl::SpotMeteringPoint 7 The relative frame coordinate of the point to use for exposure metering in spot metering mode, specified as a QPointF.
QCameraExposureControl::ExposureMode 8 Camera exposure mode.
QCameraExposureControl::MeteringMode 9 Camera metering mode.
QCameraExposureControl::ExtendedExposureParameter 1000 The base value for platform specific extended parameters. For such parameters the sequential values starting from ExtendedExposureParameter should be used.

Member Function Documentation

[protected] QCameraExposureControl::QCameraExposureControl(QObject *parent = nullptr)

Constructs a camera exposure control object with parent.

[signal] void QCameraExposureControl::actualValueChanged(int parameter)

Signal emitted when the actual exposure parameter value has changed, usually in result of auto exposure algorithms or manual exposure parameter applied.

This function was introduced in Qt 5.0.

[signal] void QCameraExposureControl::parameterRangeChanged(int parameter)

Signal emitted when the supported range of exposure parameter values has changed.

This function was introduced in Qt 5.0.

[signal] void QCameraExposureControl::requestedValueChanged(int parameter)

Signal emitted when the requested exposure parameter value has changed, usually in result of setValue() call.

This function was introduced in Qt 5.0.

[virtual] QCameraExposureControl::~QCameraExposureControl()

Destroys the camera exposure control object.

[pure virtual] QVariant QCameraExposureControl::actualValue(QCameraExposureControl::ExposureParameter parameter) const

Returns the actual exposure parameter value, or invalid QVariant() if the value is unknown or not supported.

The actual parameter value may differ for the requested one if automatic mode is selected or camera supports only limited set of values within the supported range.

This function was introduced in Qt 5.0.

[pure virtual] bool QCameraExposureControl::isParameterSupported(QCameraExposureControl::ExposureParameter parameter) const

Returns true is exposure parameter is supported by backend.

This function was introduced in Qt 5.0.

[pure virtual] QVariant QCameraExposureControl::requestedValue(QCameraExposureControl::ExposureParameter parameter) const

Returns the requested exposure parameter value.

This function was introduced in Qt 5.0.

[pure virtual] bool QCameraExposureControl::setValue(QCameraExposureControl::ExposureParameter parameter, const QVariant &value)

Set the exposure parameter to value. If a null or invalid QVariant is passed, backend should choose the value automatically, and if possible report the actual value to user with QCameraExposureControl::actualValue().

Returns true if parameter is supported and value is correct.

This function was introduced in Qt 5.0.

[pure virtual] QVariantList QCameraExposureControl::supportedParameterRange(QCameraExposureControl::ExposureParameter parameter, bool *continuous) const

Returns the list of supported parameter values;

If the camera supports arbitrary exposure parameter value within the supported range, *continuous is set to true, otherwise *continuous is set to false.

This function was introduced in Qt 5.0.

Macro Documentation

QCameraExposureControl_iid

org.qt-project.qt.cameraexposurecontrol/5.0

Defines the interface name of the QCameraExposureControl class.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qcameraexposurecontrol.html