QCameraExposure Class

The QCameraExposure class provides interface for exposure related camera settings. More...

Header: #include <QCameraExposure>
qmake: QT += multimedia
Inherits: QObject

Public Types

enum ExposureMode { ExposureAuto, ExposureManual, ExposurePortrait, ExposureNight, ..., ExposureModeVendor }
enum FlashMode { FlashAuto, FlashOff, FlashOn, FlashRedEyeReduction, ..., FlashManual }
flags FlashModes
enum MeteringMode { MeteringMatrix, MeteringAverage, MeteringSpot }

Properties

  • 1 property inherited from QObject

Public Functions

qreal aperture() const
qreal exposureCompensation() const
QCameraExposure::ExposureMode exposureMode() const
QCameraExposure::FlashModes flashMode() const
bool isAvailable() const
bool isExposureModeSupported(QCameraExposure::ExposureMode mode) const
bool isFlashModeSupported(QCameraExposure::FlashModes mode) const
bool isFlashReady() const
bool isMeteringModeSupported(QCameraExposure::MeteringMode mode) const
int isoSensitivity() const
QCameraExposure::MeteringMode meteringMode() const
qreal requestedAperture() const
int requestedIsoSensitivity() const
qreal requestedShutterSpeed() const
void setSpotMeteringPoint(const QPointF &point)
qreal shutterSpeed() const
QPointF spotMeteringPoint() const
QList<qreal> supportedApertures(bool *continuous = nullptr) const
QList<int> supportedIsoSensitivities(bool *continuous = nullptr) const
QList<qreal> supportedShutterSpeeds(bool *continuous = nullptr) const
  • 31 public functions inherited from QObject

Public Slots

void setAutoAperture()
void setAutoIsoSensitivity()
void setAutoShutterSpeed()
void setExposureCompensation(qreal ev)
void setExposureMode(QCameraExposure::ExposureMode mode)
void setFlashMode(QCameraExposure::FlashModes mode)
void setManualAperture(qreal aperture)
void setManualIsoSensitivity(int iso)
void setManualShutterSpeed(qreal seconds)
void setMeteringMode(QCameraExposure::MeteringMode mode)
  • 1 public slot inherited from QObject

Signals

Static Public Members

const QMetaObject staticMetaObject
  • 9 static public members inherited from QObject

Additional Inherited Members

  • 9 protected functions inherited from QObject

Detailed Description

The QCameraExposure class provides interface for exposure related camera settings.

Member Type Documentation

enum QCameraExposure::ExposureMode

ConstantValueDescription
QCameraExposure::ExposureAuto0Automatic mode.
QCameraExposure::ExposureManual1Manual mode.
QCameraExposure::ExposurePortrait2Portrait exposure mode.
QCameraExposure::ExposureNight3Night mode.
QCameraExposure::ExposureBacklight4Backlight exposure mode.
QCameraExposure::ExposureSpotlight5Spotlight exposure mode.
QCameraExposure::ExposureSports6Spots exposure mode.
QCameraExposure::ExposureSnow7Snow exposure mode.
QCameraExposure::ExposureBeach8Beach exposure mode.
QCameraExposure::ExposureLargeAperture9Use larger aperture with small depth of field.
QCameraExposure::ExposureSmallAperture10Use smaller aperture.
QCameraExposure::ExposureAction11Action mode. Since 5.5
QCameraExposure::ExposureLandscape12Landscape mode. Since 5.5
QCameraExposure::ExposureNightPortrait13Night portrait mode. Since 5.5
QCameraExposure::ExposureTheatre14Theatre mode. Since 5.5
QCameraExposure::ExposureSunset15Sunset mode. Since 5.5
QCameraExposure::ExposureSteadyPhoto16Steady photo mode. Since 5.5
QCameraExposure::ExposureFireworks17Fireworks mode. Since 5.5
QCameraExposure::ExposureParty18Party mode. Since 5.5
QCameraExposure::ExposureCandlelight19Candlelight mode. Since 5.5
QCameraExposure::ExposureBarcode20Barcode mode. Since 5.5
QCameraExposure::ExposureModeVendor1000The base value for device specific exposure modes.

enum QCameraExposure::FlashMode
flags QCameraExposure::FlashModes

ConstantValueDescription
QCameraExposure::FlashAuto0x1Automatic flash.
QCameraExposure::FlashOff0x2Flash is Off.
QCameraExposure::FlashOn0x4Flash is On.
QCameraExposure::FlashRedEyeReduction0x8Red eye reduction flash.
QCameraExposure::FlashFill0x10Use flash to fillin shadows.
QCameraExposure::FlashTorch0x20Constant light source. If supported, torch can be enabled without loading the camera.
QCameraExposure::FlashVideoLight0x40Constant light source, useful for video capture. The light is turned on only while camera is active.
QCameraExposure::FlashSlowSyncFrontCurtain0x80Use the flash in conjunction with a slow shutter speed. This mode allows better exposure of distant objects and/or motion blur effect.
QCameraExposure::FlashSlowSyncRearCurtain0x100The similar mode to FlashSlowSyncFrontCurtain but flash is fired at the end of exposure.
QCameraExposure::FlashManual0x200Flash power is manualy set.

The FlashModes type is a typedef for QFlags<FlashMode>. It stores an OR combination of FlashMode values.

enum QCameraExposure::MeteringMode

ConstantValueDescription
QCameraExposure::MeteringMatrix1Matrix metering mode.
QCameraExposure::MeteringAverage2Center weighted average metering mode.
QCameraExposure::MeteringSpot3Spot metering mode.

Property Documentation

aperture : const qreal

Lens aperture is specified as an F number, the ratio of the focal length to effective aperture diameter.

Access functions:

qreal aperture() const

Notifier signal:

void apertureChanged(qreal)

See also supportedApertures(), setAutoAperture(), setManualAperture(), and requestedAperture().

exposureCompensation : qreal

Exposure compensation in EV units.

Exposure compensation property allows to adjust the automatically calculated exposure.

Access functions:

qreal exposureCompensation() const
void setExposureCompensation(qreal ev)

Notifier signal:

void exposureCompensationChanged(qreal)

exposureMode : QCameraExposure::ExposureMode

This property holds the exposure mode being used.

Access functions:

QCameraExposure::ExposureMode exposureMode() const
void setExposureMode(QCameraExposure::ExposureMode mode)

See also QCameraExposure::isExposureModeSupported().

flashMode : QCameraExposure::FlashModes

This property holds the flash mode being used.

Usually the single QCameraExposure::FlashMode flag is used, but some non conflicting flags combination are also allowed, like QCameraExposure::FlashManual | QCameraExposure::FlashSlowSyncRearCurtain.

Access functions:

QCameraExposure::FlashModes flashMode() const
void setFlashMode(QCameraExposure::FlashModes mode)

See also QCameraExposure::isFlashModeSupported() and QCameraExposure::isFlashReady().

flashReady : const bool

Indicates if the flash is charged and ready to use.

Access functions:

bool isFlashReady() const

Notifier signal:

void flashReady(bool)

isoSensitivity : const int

This property holds the sensor ISO sensitivity.

Access functions:

int isoSensitivity() const

Notifier signal:

void isoSensitivityChanged(int)

See also supportedIsoSensitivities(), setAutoIsoSensitivity(), and setManualIsoSensitivity().

meteringMode : QCameraExposure::MeteringMode

This property holds the metering mode being used.

Access functions:

QCameraExposure::MeteringMode meteringMode() const
void setMeteringMode(QCameraExposure::MeteringMode mode)

See also QCameraExposure::isMeteringModeSupported().

shutterSpeed : const qreal

Camera's shutter speed in seconds.

Access functions:

qreal shutterSpeed() const

Notifier signal:

void shutterSpeedChanged(qreal speed)

See also supportedShutterSpeeds(), setAutoShutterSpeed(), and setManualShutterSpeed().

Member Function Documentation

[signal] void QCameraExposure::apertureRangeChanged()

bool QCameraExposure::isAvailable() const

Returns true if exposure settings are supported by this camera.

bool QCameraExposure::isExposureModeSupported(QCameraExposure::ExposureMode mode) const

Returns true if the exposure mode is supported.

bool QCameraExposure::isFlashModeSupported(QCameraExposure::FlashModes mode) const

Returns true if the flash mode is supported.

bool QCameraExposure::isFlashReady() const

Returns true if flash is charged.

Note: Getter function for property flashReady.

bool QCameraExposure::isMeteringModeSupported(QCameraExposure::MeteringMode mode) const

Returns true if the metering mode is supported.

qreal QCameraExposure::requestedAperture() const

Returns the requested manual aperture or -1.0 if automatic aperture is turned on.

int QCameraExposure::requestedIsoSensitivity() const

Returns the requested ISO sensitivity or -1 if automatic ISO is turned on.

qreal QCameraExposure::requestedShutterSpeed() const

Returns the requested manual shutter speed in seconds or -1.0 if automatic shutter speed is turned on.

[slot] void QCameraExposure::setAutoAperture()

[slot] void QCameraExposure::setAutoIsoSensitivity()

[slot] void QCameraExposure::setAutoShutterSpeed()

Turn on auto shutter speed

[slot] void QCameraExposure::setManualAperture(qreal aperture)

[slot] void QCameraExposure::setManualIsoSensitivity(int iso)

[slot] void QCameraExposure::setManualShutterSpeed(qreal seconds)

Set the manual shutter speed to seconds

void QCameraExposure::setSpotMeteringPoint(const QPointF &point)

See also spotMeteringPoint().

qreal QCameraExposure::shutterSpeed() const

Returns the current shutter speed in seconds.

Note: Getter function for property shutterSpeed.

[signal] void QCameraExposure::shutterSpeedRangeChanged()

QPointF QCameraExposure::spotMeteringPoint() const

See also setSpotMeteringPoint().

QList<qreal> QCameraExposure::supportedApertures(bool *continuous = nullptr) const

Returns the list of aperture values camera supports. The apertures list can change depending on the focal length, in such a case the apertureRangeChanged() signal is emitted.

If the camera supports arbitrary aperture values within the supported range, *continuous is set to true, otherwise *continuous is set to false.

QList<int> QCameraExposure::supportedIsoSensitivities(bool *continuous = nullptr) const

Returns the list of ISO senitivities camera supports.

If the camera supports arbitrary ISO sensitivities within the supported range, *continuous is set to true, otherwise *continuous is set to false.

QList<qreal> QCameraExposure::supportedShutterSpeeds(bool *continuous = nullptr) const

Returns the list of shutter speed values in seconds camera supports.

If the camera supports arbitrary shutter speed values within the supported range, *continuous is set to true, otherwise *continuous is set to false.