Qt 5.11 | Qt Multimedia | C++ Classes | QCameraExposure

Qt 5.11.3 Reference Documentation

# QCameraExposure Class

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

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

- List of all members, including inherited members

## Public Types

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

## Properties

- aperture : const qreal
- exposureCompensation : qreal
- exposureMode : QCameraExposure::ExposureMode
- flashMode : QCameraExposure::FlashModes

- flashReady : const bool
- isoSensitivity : const int
- meteringMode : QCameraExposure::MeteringMode
- shutterSpeed : const qreal

## 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

## 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)

## Signals

void | apertureChanged(qreal)
void | apertureRangeChanged()
void | exposureCompensationChanged(qreal)
void | flashReady(bool)
void | isoSensitivityChanged(int)
void | shutterSpeedChanged(qreal speed)
void | shutterSpeedRangeChanged()

## Detailed Description

The QCameraExposure class provides interface for exposure related camera settings.

## Member Type Documentation

### enum QCameraExposure::ExposureMode

Constant | Value | Description
--- | --- | ---
`QCameraExposure::ExposureAuto` | `0` | Automatic mode.
`QCameraExposure::ExposureManual` | `1` | Manual mode.
`QCameraExposure::ExposurePortrait` | `2` | Portrait exposure mode.
`QCameraExposure::ExposureNight` | `3` | Night mode.
`QCameraExposure::ExposureBacklight` | `4` | Backlight exposure mode.
`QCameraExposure::ExposureSpotlight` | `5` | Spotlight exposure mode.
`QCameraExposure::ExposureSports` | `6` | Spots exposure mode.
`QCameraExposure::ExposureSnow` | `7` | Snow exposure mode.
`QCameraExposure::ExposureBeach` | `8` | Beach exposure mode.
`QCameraExposure::ExposureLargeAperture` | `9` | Use larger aperture with small depth of field.
`QCameraExposure::ExposureSmallAperture` | `10` | Use smaller aperture.
`QCameraExposure::ExposureAction` | `11` | Action mode. Since 5.5
`QCameraExposure::ExposureLandscape` | `12` | Landscape mode. Since 5.5
`QCameraExposure::ExposureNightPortrait` | `13` | Night portrait mode. Since 5.5
`QCameraExposure::ExposureTheatre` | `14` | Theatre mode. Since 5.5
`QCameraExposure::ExposureSunset` | `15` | Sunset mode. Since 5.5
`QCameraExposure::ExposureSteadyPhoto` | `16` | Steady photo mode. Since 5.5
`QCameraExposure::ExposureFireworks` | `17` | Fireworks mode. Since 5.5
`QCameraExposure::ExposureParty` | `18` | Party mode. Since 5.5
`QCameraExposure::ExposureCandlelight` | `19` | Candlelight mode. Since 5.5
`QCameraExposure::ExposureBarcode` | `20` | Barcode mode. Since 5.5
`QCameraExposure::ExposureModeVendor` | `1000` | The base value for device specific exposure modes.

### enum QCameraExposure::FlashMode
flags QCameraExposure::FlashModes

Constant | Value | Description
--- | --- | ---
`QCameraExposure::FlashAuto` | `0x1` | Automatic flash.
`QCameraExposure::FlashOff` | `0x2` | Flash is Off.
`QCameraExposure::FlashOn` | `0x4` | Flash is On.
`QCameraExposure::FlashRedEyeReduction` | `0x8` | Red eye reduction flash.
`QCameraExposure::FlashFill` | `0x10` | Use flash to fillin shadows.
`QCameraExposure::FlashTorch` | `0x20` | Constant light source. If supported, torch can be enabled without loading the camera.
`QCameraExposure::FlashVideoLight` | `0x40` | Constant light source, useful for video capture. The light is turned on only while camera is active.
`QCameraExposure::FlashSlowSyncFrontCurtain` | `0x80` | Use the flash in conjunction with a slow shutter speed. This mode allows better exposure of distant objects and/or motion blur effect.
`QCameraExposure::FlashSlowSyncRearCurtain` | `0x100` | The similar mode to FlashSlowSyncFrontCurtain but flash is fired at the end of exposure.
`QCameraExposure::FlashManual` | `0x200` | Flash power is manualy set.

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

### enum QCameraExposure::MeteringMode

Constant | Value | Description
--- | --- | ---
`QCameraExposure::MeteringMatrix` | `1` | Matrix metering mode.
`QCameraExposure::MeteringAverage` | `2` | Center weighted average metering mode.
`QCameraExposure::MeteringSpot` | `3` | Spot 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.