- Qt 5.15
- Qt Multimedia
- C++ Classes
- QCameraExposure
- Qt 5.15.19 Reference Documentation

# QCameraExposure Class

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

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

- List of all members, including inherited members

## Public Types

enum | ExposureMode { ExposureAuto, ExposureManual, ExposurePortrait, ExposureNight, ExposureBacklight, …, ExposureModeVendor }
enum | FlashMode { FlashAuto, FlashOff, FlashOn, FlashRedEyeReduction, FlashFill, …, 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
ExposureMode | exposureMode() const
FlashModes | flashMode() const
bool | isAvailable() const
bool | isExposureModeSupported(ExposureMode mode) const
bool | isFlashModeSupported(FlashModes mode) const
bool | isFlashReady() const
bool | isMeteringModeSupported(MeteringMode mode) const
int | isoSensitivity() const
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(ExposureMode mode)
void | setFlashMode(FlashModes mode)
void | setManualAperture(qreal aperture)
void | setManualIsoSensitivity(int iso)
void | setManualShutterSpeed(qreal seconds)
void | setMeteringMode(MeteringMode mode)

## Signals

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

## Protected Functions

virtual | ~QCameraExposure()

## Detailed Description

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

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

### exposureMode : QCameraExposure::ExposureMode

This property holds the exposure mode being used.

Access functions:

ExposureMode | exposureMode() const
void | setExposureMode(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:

FlashModes | flashMode() const
void | setFlashMode(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 ready)

### isoSensitivity : const int

This property holds the sensor ISO sensitivity.

Access functions:

int | isoSensitivity() const

Notifier signal:

void | isoSensitivityChanged(int value)

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

### meteringMode : QCameraExposure::MeteringMode

This property holds the metering mode being used.

Access functions:

MeteringMode | meteringMode() const
void | setMeteringMode(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::apertureChanged(qreal value)

Signal emitted when aperature changes to value.

Note: Notifier signal for property aperture.

### `[signal]` void QCameraExposure::apertureRangeChanged()

Signal emitted when aperature range has changed.

### `[signal]` void QCameraExposure::exposureCompensationChanged(qreal value)

Signal emitted when the exposure compensation changes to value.

Note: Notifier signal for property exposureCompensation.

### `[signal]` void QCameraExposure::flashReady(bool ready)

Signal the flash ready status has changed.

Note: Notifier signal for property flashReady.

### `[signal]` void QCameraExposure::isoSensitivityChanged(int value)

Signal emitted when sensitivity changes to value.

Note: Notifier signal for property isoSensitivity.

### `[slot]` void QCameraExposure::setAutoAperture()

Turn on auto aperture

### `[slot]` void QCameraExposure::setAutoIsoSensitivity()

Turn on auto sensitivity

### `[slot]` void QCameraExposure::setAutoShutterSpeed()

Turn on auto shutter speed

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

Sets the manual camera aperture value.

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

Sets the manual sensitivity to iso

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

Set the manual shutter speed to seconds

### `[signal]` void QCameraExposure::shutterSpeedChanged(qreal speed)

Signals that a camera's shutter speed has changed.

Note: Notifier signal for property shutterSpeed.

### `[signal]` void QCameraExposure::shutterSpeedRangeChanged()

Signal emitted when the shutter speed range has changed.

### `[virtual protected]` QCameraExposure::~QCameraExposure()

Destroys the camera exposure object.

### bool QCameraExposure::isAvailable() const

Returns true if exposure settings are supported by this camera.

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

Returns true if the exposure mode is supported.

### bool QCameraExposure::isFlashModeSupported(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(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.

### void QCameraExposure::setSpotMeteringPoint(const QPointF &point)

Allows setting the spot metering point to point.

See also spotMeteringPoint().

### qreal QCameraExposure::shutterSpeed() const

Returns the current shutter speed in seconds.

Note: Getter function for property shutterSpeed.

### QPointF QCameraExposure::spotMeteringPoint() const

When supported, the spot metering point is the (normalized) position of the point of the image where exposure metering will be performed. This is typically used to indicate an "interesting" area of the image that should be exposed properly.

The coordinates are relative frame coordinates: QPointF(0,0) points to the left top frame point, QPointF(0.5,0.5) points to the frame center, which is typically the default spot metering point.

The spot metering point is only used with spot metering mode.

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.