Sur cette page

QCamera Class

La classe QCamera fournit une interface pour les appareils photo du système. Plus d'informations...

En-tête : #include <QCamera>
CMake : find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake : QT += multimedia
En QML : Camera
Héritages : QObject

Types publics

enum Error { NoError, CameraError }
enum ExposureMode { ExposureAuto, ExposureManual, ExposurePortrait, ExposureNight, ExposureSports, …, ExposureBarcode }
enum class Feature { ColorTemperature, ExposureCompensation, IsoSensitivity, ManualExposureTime, CustomFocusPoint, FocusDistance }
flags Features
enum FlashMode { FlashOff, FlashOn, FlashAuto }
enum FocusMode { FocusModeAuto, FocusModeAutoNear, FocusModeAutoFar, FocusModeHyperfocal, FocusModeInfinity, FocusModeManual }
enum TorchMode { TorchOff, TorchOn, TorchAuto }
enum WhiteBalanceMode { WhiteBalanceAuto, WhiteBalanceManual, WhiteBalanceSunlight, WhiteBalanceCloudy, WhiteBalanceShade, …, WhiteBalanceSunset }

Propriétés

Fonctions publiques

QCamera(QObject *parent = nullptr)
QCamera(QCameraDevice::Position position, QObject *parent = nullptr)
QCamera(const QCameraDevice &cameraDevice, QObject *parent = nullptr)
virtual ~QCamera() override
QCameraDevice cameraDevice() const
QCameraFormat cameraFormat() const
QMediaCaptureSession *captureSession() const
int colorTemperature() const
QPointF customFocusPoint() const
QCamera::Error error() const
QString errorString() const
float exposureCompensation() const
QCamera::ExposureMode exposureMode() const
float exposureTime() const
QCamera::FlashMode flashMode() const
float focusDistance() const
QCamera::FocusMode focusMode() const
QPointF focusPoint() const
bool isActive() const
bool isAvailable() const
bool isExposureModeSupported(QCamera::ExposureMode mode) const
bool isFlashModeSupported(QCamera::FlashMode mode) const
bool isFlashReady() const
bool isFocusModeSupported(QCamera::FocusMode mode) const
bool isTorchModeSupported(QCamera::TorchMode mode) const
bool isWhiteBalanceModeSupported(QCamera::WhiteBalanceMode mode) const
int isoSensitivity() const
float manualExposureTime() const
int manualIsoSensitivity() const
float maximumExposureTime() const
int maximumIsoSensitivity() const
float maximumZoomFactor() const
float minimumExposureTime() const
int minimumIsoSensitivity() const
float minimumZoomFactor() const
void setCameraDevice(const QCameraDevice &cameraDevice)
void setCameraFormat(const QCameraFormat &format)
void setCustomFocusPoint(const QPointF &point)
void setFocusDistance(float d)
void setFocusMode(QCamera::FocusMode mode)
void setZoomFactor(float factor)
QCamera::Features supportedFeatures() const
QCamera::TorchMode torchMode() const
QCamera::WhiteBalanceMode whiteBalanceMode() const
float zoomFactor() const

Emplacements publics

void setActive(bool active)
void setAutoExposureTime()
void setAutoIsoSensitivity()
void setColorTemperature(int colorTemperature)
void setExposureCompensation(float ev)
void setExposureMode(QCamera::ExposureMode mode)
void setFlashMode(QCamera::FlashMode mode)
void setManualExposureTime(float seconds)
void setManualIsoSensitivity(int iso)
void setTorchMode(QCamera::TorchMode mode)
void setWhiteBalanceMode(QCamera::WhiteBalanceMode mode)
void start()
void stop()
void zoomTo(float factor, float rate)

Signaux

void activeChanged(bool)
void cameraDeviceChanged()
void cameraFormatChanged()
void colorTemperatureChanged() const
void customFocusPointChanged()
void errorChanged()
void errorOccurred(QCamera::Error error, const QString &errorString)
void exposureCompensationChanged(float value)
void exposureModeChanged()
void exposureTimeChanged(float speed)
void flashModeChanged()
void flashReady(bool ready)
void focusDistanceChanged(float)
void focusModeChanged()
void focusPointChanged()
void isoSensitivityChanged(int value)
void manualExposureTimeChanged(float speed)
void manualIsoSensitivityChanged(int)
void maximumZoomFactorChanged(float)
void minimumZoomFactorChanged(float)
void supportedFeaturesChanged()
void torchModeChanged()
void whiteBalanceModeChanged() const
void zoomFactorChanged(float)

Description détaillée

QCamera peut être utilisé dans un site QMediaCaptureSession pour l'enregistrement vidéo et la prise d'images.

Vous pouvez utiliser QCameraDevice pour dresser la liste des caméras disponibles et choisir celle que vous souhaitez utiliser.

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

Sur le matériel qui le prend en charge, QCamera vous permet d'ajuster la mise au point et le zoom. Les propriétés minimumZoomFactor et maximumZoomFactor fournissent la gamme des facteurs de zoom pris en charge. La propriété zoomFactor permet de modifier le facteur de zoom.

camera->setZoomFactor(3.0);

Après avoir capturé les données brutes d'une image, le matériel et le logiciel de la caméra effectuent diverses tâches de traitement de l'image pour produire l'image finale. Il s'agit notamment de compenser la couleur de la lumière ambiante, de réduire le bruit et de procéder à d'autres ajustements de l'image.

Vous pouvez contrôler un grand nombre de ces étapes de traitement par le biais des propriétés de l'appareil photo. Par exemple, vous pouvez définir la balance des blancs (ou la température de couleur) utilisée pour le traitement des images :

camera->setWhiteBalanceMode(QCamera::WhiteBalanceFluorescent);

Pour plus d'informations sur le traitement des images de la caméra, voir Traitement des images de la caméra.

La plupart des plateformes exigent que l'utilisateur final accorde des autorisations avant qu'une caméra puisse être activée. Il est donc fortement recommandé aux développeurs d'applications d'utiliser la classe QCameraPermission lorsqu'ils travaillent avec des caméras. Voici un court exemple qui demande des autorisations à l'utilisateur final au démarrage de l'application, puis active la caméra si les autorisations sont accordées.

qApp->requestPermission(
    QCameraPermission{},
    [](const QPermission &permission) {
        if (permission.status() == Qt::PermissionStatus::Granted)
            camera->setActive(true);
    });

Pour plus d'informations, voir la présentation de la caméra.

Remarque : sur la plate-forme WebAssembly, en raison de sa nature asynchrone, le signal QMediaDevices::videoInputsChanged() est émis lorsque la liste des entrées vidéo est prête. Les autorisations de l'utilisateur sont requises. Ne fonctionne que dans les contextes https sécurisés.

Documentation sur les types de membres

enum QCamera::Error

Cette énumération contient le dernier code d'erreur.

ConstanteValeurDescription de l'erreur
QCamera::NoError0Aucune erreur n'est survenue.
QCamera::CameraError1Une erreur s'est produite.

enum QCamera::ExposureMode

ConstanteValeurDescription du mode automatique
QCamera::ExposureAuto0Mode automatique.
QCamera::ExposureManual1Mode manuel.
QCamera::ExposurePortrait2Mode d'exposition portrait.
QCamera::ExposureNight3Mode nuit.
QCamera::ExposureSports4Mode d'exposition des taches.
QCamera::ExposureSnow5Mode d'exposition à la neige.
QCamera::ExposureBeach6Mode d'exposition Plage.
QCamera::ExposureAction7Mode action. Depuis 5.5
QCamera::ExposureLandscape8Mode paysage. Depuis 5.5
QCamera::ExposureNightPortrait9Mode portrait nocturne. Depuis la version 5.5
QCamera::ExposureTheatre10Mode théâtre. Depuis la version 5.5
QCamera::ExposureSunset11Mode coucher de soleil. Depuis la version 5.5
QCamera::ExposureSteadyPhoto12Mode photo fixe. Depuis la version 5.5
QCamera::ExposureFireworks13Mode feux d'artifice. Depuis la version 5.5
QCamera::ExposureParty14Mode fête. Depuis 5.5
QCamera::ExposureCandlelight15Mode bougies. Depuis la version 5.5
QCamera::ExposureBarcode16Mode code-barres. Depuis la version 5.5

enum class QCamera::Feature
flags QCamera::Features

Décrit un ensemble de caractéristiques prises en charge par la caméra. La valeur renvoyée peut être une combinaison de :

ConstanteValeurDescription
QCamera::Feature::ColorTemperature0x1La caméra prend en charge la définition d'un paramètre personnalisé colorTemperature.
QCamera::Feature::ExposureCompensation0x2L'appareil photo prend en charge la définition d'un exposureCompensation personnalisé.
QCamera::Feature::IsoSensitivity0x4L'appareil photo prend en charge la définition d'un isoSensitivity personnalisé.
QCamera::Feature::ManualExposureTime0x8L'appareil photo prend en charge la définition d'un manual exposure Time.
QCamera::Feature::CustomFocusPoint0x10La caméra prend en charge la définition d'un custom focus point.
QCamera::Feature::FocusDistance0x20L'appareil photo prend en charge la définition de la propriété focusDistance.

Le type Features est un typedef pour QFlags<Feature>. Il stocke une combinaison OU de valeurs de caractéristiques.

enum QCamera::FlashMode

ConstanteValeurDescription de la valeur constante
QCamera::FlashOff0Le flash est désactivé.
QCamera::FlashOn1Le flash est activé.
QCamera::FlashAuto2Flash automatique.

enum QCamera::FocusMode

ConstanteValeurDescription du mode de mise au point
QCamera::FocusModeAuto0Mode de mise au point automatique continue.
QCamera::FocusModeAutoNear1Mode de mise au point automatique continue sur les objets proches.
QCamera::FocusModeAutoFar2Mode de mise au point automatique continue sur des objets éloignés.
QCamera::FocusModeHyperfocal3Mise au point à la distance hyperfocale, avec une profondeur de champ maximale. Tous les objets situés à des distances allant de la moitié de cette distance à l'infini seront d'une netteté acceptable.
QCamera::FocusModeInfinity4Mise au point strictement à l'infini.
QCamera::FocusModeManual5La distance de mise au point de l'objectif de l'appareil photo est verrouillée selon focusDistance.

enum QCamera::TorchMode

ConstanteValeurDescription de l'état de la torche
QCamera::TorchOff0La torche est éteinte.
QCamera::TorchOn1La torche est activée.
QCamera::TorchAuto2Torche automatique.

enum QCamera::WhiteBalanceMode

ConstanteValeurDescription du mode de balance des blancs
QCamera::WhiteBalanceAuto0Mode de balance des blancs automatique.
QCamera::WhiteBalanceManual1Balance des blancs manuelle. Dans ce mode, la balance des blancs doit être réglée à l'aide de setColorTemperature()
QCamera::WhiteBalanceSunlight2Mode de balance des blancs en fonction de la lumière du soleil.
QCamera::WhiteBalanceCloudy3Mode de balance des blancs nuageux.
QCamera::WhiteBalanceShade4Mode balance des blancs ombre.
QCamera::WhiteBalanceTungsten5Mode de balance des blancs tungstène (incandescent).
QCamera::WhiteBalanceFluorescent6Mode de balance des blancs fluorescent.
QCamera::WhiteBalanceFlash7Mode de balance des blancs du flash.
QCamera::WhiteBalanceSunset8Mode de balance des blancs coucher de soleil.

Documentation sur les propriétés

active : bool

Indique si la caméra est actuellement active.

Fonctions d'accès :

bool isActive() const
void setActive(bool active)

Signal de notification :

void activeChanged(bool)

cameraDevice : QCameraDevice

Renvoie l'objet QCameraDevice associé à cette caméra.

En cas de changement de caméra, les capacités de l'objet QCamera sont mises à jour. En outre, les propriétés de contrôle de l'objet QCamera(telles que focusMode, flashMode, focusDistance, zoomFactor) sont mises à jour comme suit :

  • Si une propriété est prise en charge par le nouveau dispositif, la valeur de la propriété est appliquée au dispositif de la caméra.
  • Si une propriété est prise en charge mais que sa plage de valeurs valides a été modifiée, la propriété est adaptée à la nouvelle plage et appliquée au dispositif de caméra.
  • Si le nouveau dispositif de caméra ne prend pas en charge une propriété, la valeur de la propriété est réinitialisée à la valeur par défaut et aucune modification n'est apportée au dispositif de caméra.

Fonctions d'accès :

QCameraDevice cameraDevice() const
void setCameraDevice(const QCameraDevice &cameraDevice)

Signal de notification :

void cameraDeviceChanged()

cameraFormat : QCameraFormat

Renvoie le format de caméra actuellement utilisé par la caméra.

Remarque : lorsque vous utilisez le backend FFMPEG sur un appareil cible Android, si vous demandez le format YUV420P, vous recevrez soit un YUV420P entièrement planaire 4:2:0, soit un NV12/NV21 semi-planaire. Cela dépend du codec mis en œuvre par l'OEM de l'appareil.

Remarque : sous macOS, les appareils photo sont partagés entre plusieurs applications du système d'exploitation. Cela signifie qu'une autre application peut remplacer le format défini par cette propriété. Les développeurs d'applications doivent tenir compte de la possibilité de recevoir des images vidéo dont la résolution, le format de pixels et la fréquence d'images sont différents de ceux décrits par cette propriété. Cette propriété ne change pas lorsque le format de l'appareil est modifié par une autre application. Le format décrit par cette propriété peut être réappliqué à l'appareil en réactivant la fonction QCamera.

Fonctions d'accès :

QCameraFormat cameraFormat() const
void setCameraFormat(const QCameraFormat &format)

Signal Notificateur :

void cameraFormatChanged()

Voir aussi QCameraDevice::videoFormats.

colorTemperature : int

Renvoie la température de couleur actuelle si le mode de balance des blancs actuel est WhiteBalanceManual. Pour les autres modes, la valeur de retour est indéfinie.

Fonctions d'accès :

int colorTemperature() const
void setColorTemperature(int colorTemperature)

Signal de notification :

void colorTemperatureChanged() const

customFocusPoint : QPointF

Cette propriété représente la position du point de focalisation personnalisé, en coordonnées de cadre relatives : QPointF(0,0) correspond au point de cadre supérieur gauche, QPointF(0,5,0,5) correspond au centre du cadre.

Vous pouvez vérifier si les points de focalisation personnalisés sont pris en charge en interrogeant supportedFeatures() avec l'option Feature.CustomFocusPoint.

Fonctions d'accès :

QPointF customFocusPoint() const
void setCustomFocusPoint(const QPointF &point)

Signal de notification :

void customFocusPointChanged()

[read-only] error : Error

Renvoie l'état d'erreur de la caméra.

Fonctions d'accès :

QCamera::Error error() const

Signal de notification :

void errorChanged()

Voir aussi QCamera::Error.

[read-only] errorString : QString

Renvoie une chaîne lisible par l'homme décrivant l'état d'erreur d'une caméra.

Fonctions d'accès :

QString errorString() const

Signal de notification :

void errorChanged()

exposureCompensation : float

Compensation de l'exposition en unités EV.

La propriété de compensation de l'exposition permet d'ajuster l'exposition calculée automatiquement.

Fonctions d'accès :

float exposureCompensation() const
void setExposureCompensation(float ev)

Signal de notification :

void exposureCompensationChanged(float value)

exposureMode : QCamera::ExposureMode

Cette propriété contient le mode d'exposition utilisé.

Fonctions d'accès :

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

Signal de notification :

void exposureModeChanged()

Voir aussi QCamera::isExposureModeSupported.

[read-only] exposureTime : float

Temps d'exposition de la caméra en secondes.

Fonctions d'accès :

float exposureTime() const

Signal de notification :

void exposureTimeChanged(float speed)

Voir également minimumExposureTime(), maximumExposureTime() et setManualExposureTime().

flashMode : QCamera::FlashMode

Cette propriété contient le mode flash utilisé.

Elle active un certain mode de flash si l'appareil photo est équipé d'un flash.

L'attribution d'un mode non pris en charge à cette propriété n'a aucun effet.

Cette propriété n'a d'effet que lors de la capture d'images à l'aide d'un flash. QImageCapture

Fonctions d'accès :

QCamera::FlashMode flashMode() const
void setFlashMode(QCamera::FlashMode mode)

Signal de notification :

void flashModeChanged()

Voir également QCamera::FlashMode, QCamera::isFlashModeSupported, et QCamera::isFlashReady.

[read-only] flashReady : bool

Indique si le flash est chargé et prêt à être utilisé.

Fonctions d'accès :

bool isFlashReady() const[see note below]

Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

Signal de notification :

void flashReady(bool ready)

focusDistance : float

Cette propriété définit la distance de mise au point de l'objectif lorsque l'appareil photo fonctionne en mode de mise au point manuelle. Les valeurs valides sont comprises entre 0 et 1, 0 étant la distance de mise au point la plus proche possible et 1 la plus éloignée. Le point le plus éloigné est généralement à l'infini, mais ce n'est pas forcément le cas pour tous les appareils.

Cette propriété n'est appliquée à l'appareil que lorsque focusMode est défini sur FocusModeManual et que supportedFeatures inclut l'indicateur Feature::FocusDistance.

Si vous attribuez une valeur à cette propriété alors que focusMode n'est pas défini sur QCamera::FocusModeManual, la propriété enregistre la valeur mais n'affecte pas le dispositif jusqu'à ce que QCamera::FocusModeManual soit actif.

L'attribution d'une valeur en dehors de la plage valide [0, 1] n'a aucun effet sur cette propriété.

Si supportedFeatures n'inclut pas l'indicateur FocusDistance, toute tentative de définition de cette propriété est ignorée.

Cette propriété n'est pas mise à jour par la caméra lorsqu'elle est en mode de mise au point automatique.

La valeur par défaut est 1.

Fonctions d'accès :

float focusDistance() const
void setFocusDistance(float d)

Signal de notification :

void focusDistanceChanged(float)

focusMode : FocusMode

Cette propriété indique le mode de mise au point actuel de la caméra.

Cette propriété contient la valeur qui contrôle le mode de mise au point de l'appareil photo. Dans tous les modes de mise au point automatique, l'appareil photo effectue une mise au point continue.

Pour vérifier si le périphérique de la caméra prend en charge un mode de mise au point particulier, transmettez la valeur FocusMode correspondante à la fonction isFocusModeSupported en tant que paramètre. La fonction renvoie un message faux si la valeur du mode de mise au point n'est pas prise en charge. L'attribution d'un mode non pris en charge à cette propriété n'a aucun effet.

Si vous attribuez la valeur QCamera::FocusModeManual à la propriété focusMode, l'objectif se verrouille sur la mise au point conformément à focusDistance.

Fonctions d'accès :

QCamera::FocusMode focusMode() const
void setFocusMode(QCamera::FocusMode mode)

Signal de notification :

Voir également isFocusModeSupported().

[read-only] focusPoint : QPointF

Renvoie le point actuellement utilisé par le système de mise au point automatique pour faire la mise au point.

Fonctions d'accès :

QPointF focusPoint() const

Signal de notification :

void focusPointChanged()

[read-only] isoSensitivity : int

Cette propriété contient la sensibilité ISO du capteur.

Décrit la sensibilité ISO actuellement utilisée par l'appareil photo.

Fonctions d'accès :

int isoSensitivity() const

Signal de notification :

void isoSensitivityChanged(int value)

Voir également setAutoIsoSensitivity() et setManualIsoSensitivity().

manualExposureTime : float

Régler le temps d'exposition manuelle sur seconds

Accéder aux fonctions :

float manualExposureTime() const
void setManualExposureTime(float seconds)

Signal de notification :

void manualExposureTimeChanged(float speed)

manualIsoSensitivity : int

Décrit une sensibilité ISO réglée manuellement

Le fait de régler cette propriété sur -1 (valeur par défaut) implique que l'appareil photo règle automatiquement la sensibilité ISO.

Fonctions d'accès :

int manualIsoSensitivity() const
void setManualIsoSensitivity(int iso)

Signal de notification :

void manualIsoSensitivityChanged(int)

[read-only] maximumZoomFactor : float

Renvoie le facteur de zoom maximal.

Il s'agit de 1.0 pour les caméras qui ne prennent pas en charge le zoom.

Fonctions d'accès :

float maximumZoomFactor() const

Signal de notification :

void maximumZoomFactorChanged(float)

[read-only] minimumZoomFactor : float

Renvoie le facteur de zoom minimum.

Il s'agit de 1.0 pour les caméras qui ne prennent pas en charge le zoom.

Fonctions d'accès :

float minimumZoomFactor() const

Signal de notification :

void minimumZoomFactorChanged(float)

[read-only] supportedFeatures : Features

Renvoie les caractéristiques prises en charge par cette caméra.

Fonctions d'accès :

QCamera::Features supportedFeatures() const

Signal de notification :

void supportedFeaturesChanged()

Voir aussi QCamera::Feature.

torchMode : QCamera::TorchMode

Cette propriété indique le mode de torche utilisé.

Une torche est une source de lumière continue. Elle peut être utilisée pendant l'enregistrement vidéo dans des conditions de faible luminosité. L'activation du mode torche a généralement pour effet de remplacer le mode flash actuellement défini.

Fonctions d'accès :

QCamera::TorchMode torchMode() const
void setTorchMode(QCamera::TorchMode mode)

Signal de notification :

void torchModeChanged()

Voir également QCamera::TorchMode, QCamera::isTorchModeSupported, et QCamera::flashMode.

whiteBalanceMode : WhiteBalanceMode

Renvoie le mode de balance des blancs utilisé.

Fonctions d'accès :

QCamera::WhiteBalanceMode whiteBalanceMode() const
void setWhiteBalanceMode(QCamera::WhiteBalanceMode mode)

Signal de notification :

void whiteBalanceModeChanged() const

zoomFactor : float

Cette propriété contient le facteur de zoom actuel.

Obtient ou définit le facteur de zoom actuel. Les valeurs sont comprises entre minimumZoomFactor et maximumZoomFactor.

Fonctions d'accès :

float zoomFactor() const
void setZoomFactor(float factor)

Signal de notification :

void zoomFactorChanged(float)

Member Function Documentation

[explicit] QCamera::QCamera(QObject *parent = nullptr)

Construit une QCamera avec une parent.

Sélectionne la caméra par défaut du système si plusieurs caméras sont disponibles.

[explicit] QCamera::QCamera(QCameraDevice::Position position, QObject *parent = nullptr)

Construire une QCamera qui utilise une caméra matérielle située à l'endroit spécifié position.

Par exemple, sur un téléphone portable, elle peut être utilisée pour choisir facilement entre une caméra frontale et une caméra dorsale.

Si aucune caméra n'est disponible à l'adresse position ou si position est QCameraDevice::UnspecifiedPosition, la caméra par défaut est utilisée.

[explicit] QCamera::QCamera(const QCameraDevice &cameraDevice, QObject *parent = nullptr)

Construire une QCamera à partir d'une description de caméra cameraDevice et parent.

[override virtual noexcept] QCamera::~QCamera()

Détruit l'objet caméra.

QMediaCaptureSession *QCamera::captureSession() const

Renvoie la session de capture à laquelle cette caméra est connectée, ou un nullptr si la caméra n'est pas connectée à une session de capture.

Utilisez QMediaCaptureSession::setCamera() pour connecter la caméra à une session.

[signal] void QCamera::errorOccurred(QCamera::Error error, const QString &errorString)

Ce signal est émis lorsque l'état d'erreur passe à error. Une description de l'erreur est fournie à l'adresse errorString.

[signal] void QCamera::exposureCompensationChanged(float value)

Signal émis lorsque la compensation de l'exposition passe à value.

Note : Signal de notification pour la propriété exposureCompensation.

float QCamera::exposureTime() const

Renvoie le temps d'exposition actuel en secondes.

Remarque : fonction d'obtention pour la propriété exposureTime.

[signal] void QCamera::exposureTimeChanged(float speed)

Signale que l'exposition d'un appareil photo speed a changé.

Note : Signal de notification pour la propriété exposureTime.

[signal] void QCamera::flashReady(bool ready)

Signale que l'état du flash ready a changé.

Remarque : signal de notification pour la propriété flashReady.

[signal] void QCamera::focusModeChanged()

Signale les modifications apportées au site focusMode.

Note : Signal de notification pour la propriété focusMode.

bool QCamera::isActive() const

Renvoie un résultat positif si la caméra est actuellement active.

Remarque : fonction Getter pour la propriété active.

bool QCamera::isAvailable() const

Renvoie un message indiquant que la caméra peut être utilisée.

[invokable] bool QCamera::isExposureModeSupported(QCamera::ExposureMode mode) const

Renvoie un résultat positif si l'exposition mode est prise en charge.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

[invokable] bool QCamera::isFlashModeSupported(QCamera::FlashMode mode) const

Renvoie un résultat positif si le site mode est pris en charge.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

[invokable] bool QCamera::isFlashReady() const

Retourne vrai si le flash est chargé.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

Remarque : fonction Getter pour la propriété flashReady.

[invokable] bool QCamera::isFocusModeSupported(QCamera::FocusMode mode) const

Renvoie true si la mise au point mode est prise en charge par la caméra.

Si FocusModeManual est signalé comme étant pris en charge, la fonction Feature::FocusDistance est implicitement prise en charge également.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

[invokable] bool QCamera::isTorchModeSupported(QCamera::TorchMode mode) const

Renvoie un message vrai si la torche mode est prise en charge.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

[invokable] bool QCamera::isWhiteBalanceModeSupported(QCamera::WhiteBalanceMode mode) const

Renvoie un résultat positif si la balance des blancs mode est prise en charge.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

[signal] void QCamera::isoSensitivityChanged(int value)

Signal émis lorsque la sensibilité passe à value.

Note : Signal de notification pour le bien isoSensitivity.

float QCamera::manualExposureTime() const

Renvoie le temps d'exposition manuel en secondes, ou -1 si l'appareil photo utilise des temps d'exposition automatiques.

Remarque : fonction Getter pour la propriété manualExposureTime.

Voir également setManualExposureTime().

float QCamera::maximumExposureTime() const

Le temps d'exposition maximal en secondes.

int QCamera::maximumIsoSensitivity() const

Renvoie la sensibilité ISO maximale prise en charge par l'appareil photo.

float QCamera::minimumExposureTime() const

Le temps d'exposition minimal en secondes.

int QCamera::minimumIsoSensitivity() const

Renvoie la sensibilité ISO minimale prise en charge par l'appareil photo.

[slot] void QCamera::setActive(bool active)

Allume la caméra si active est true, ou l'éteint si c'est false.

Remarque : fonction de définition de la propriété active.

Voir également isActive().

[slot] void QCamera::setAutoExposureTime()

Utiliser le temps d'exposition calculé automatiquement

[slot] void QCamera::setAutoIsoSensitivity()

Activer la sensibilité automatique

void QCamera::setCameraDevice(const QCameraDevice &cameraDevice)

Connecte l'objet caméra au dispositif physique de la caméra décrit par cameraDevice. L'utilisation d'un objet QCameraDevice construit par défaut comme cameraDevice connectera la caméra au dispositif de caméra par défaut du système.

Lors du changement de dispositif de caméra, les capacités de l'objet QCamera sont mises à jour. En outre, les propriétés de contrôle de l'objet QCamera(telles que focusMode, flashMode, focusDistance, zoomFactor) sont mises à jour comme suit :

  • Si une propriété est prise en charge par le nouveau dispositif, la valeur de la propriété est appliquée au dispositif de la caméra.
  • Si une propriété est prise en charge mais que sa plage de valeurs valides a été modifiée, la propriété est adaptée à la nouvelle plage et appliquée au dispositif de caméra.
  • Si le nouveau dispositif de caméra ne prend pas en charge une propriété, la valeur de la propriété est réinitialisée à la valeur par défaut et aucune modification n'est apportée au dispositif de caméra.

Remarque : fonction de définition de la propriété cameraDevice.

Voir également cameraDevice().

void QCamera::setCameraFormat(const QCameraFormat &format)

Indique à la caméra d'utiliser le format décrit par format. Ce format peut être utilisé pour définir une résolution et une fréquence d'images spécifiques à utiliser pour l'enregistrement et la capture d'images.

Remarque : lorsque vous utilisez le backend FFMPEG sur un appareil cible Android, si vous demandez le format YUV420P, vous recevrez soit un YUV420P entièrement planaire 4:2:0, soit un NV12/NV21 semi-planaire. Cela dépend du codec mis en œuvre par l'OEM de l'appareil.

Remarque : fonction de définition pour la propriété cameraFormat.

Voir aussi cameraFormat().

[slot] void QCamera::setColorTemperature(int colorTemperature)

Règle la balance des blancs manuelle sur colorTemperature. Cette fonction est utilisée lorsque whiteBalanceMode() est réglé sur WhiteBalanceManual. Les unités sont les Kelvin.

Le réglage d'une température de couleur n'aura un effet que si WhiteBalanceManual est pris en charge. Dans ce cas, si la température est supérieure à 0, le mode de balance des blancs sera automatiquement réglé sur WhiteBalanceManual. Si la température est réglée sur 0, le mode de balance des blancs sera réinitialisé sur WhiteBalanceAuto.

Remarque : fonction de réglage pour la propriété colorTemperature.

Voir également colorTemperature().

[slot] void QCamera::setWhiteBalanceMode(QCamera::WhiteBalanceMode mode)

Règle la balance des blancs sur mode.

Remarque : fonction de définition de la propriété whiteBalanceMode.

Voir également whiteBalanceMode().

void QCamera::setZoomFactor(float factor)

Zoom sur un facteur de zoom factor à une vitesse de 1 facteur par seconde.

Remarque : fonction de définition de la propriété zoomFactor.

Voir également zoomFactor().

[slot] void QCamera::start()

Démarre l'appareil photo.

Identique à setActive(true).

Si la caméra ne peut pas être démarrée pour une raison quelconque, le signal errorOccurred() est émis.

[slot] void QCamera::stop()

Arrête la caméra. Identique à setActive(false).

[slot] void QCamera::zoomTo(float factor, float rate)

Zoome sur un facteur de zoom factor en utilisant rate.

Le site rate est spécifié en puissances de deux par seconde. Avec un taux de 1, il faudrait 2 secondes pour passer d'un facteur de zoom de 1 à 4.

Remarque : l'utilisation d'un taux spécifique n'est pas prise en charge par toutes les caméras. Si ce n'est pas le cas, le zoom sera effectué aussi rapidement que possible.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.