Sur cette page

Camera QML Type

Une interface pour les réglages de l'appareil photo relatifs à la mise au point et au zoom. Plus d'informations...

Import Statement: import QtMultimedia
In C++: QCamera

Propriétés

Signaux

Méthodes

Description détaillée

L'élément Camera peut être utilisé dans un site CaptureSession pour l'enregistrement vidéo et la prise d'images.

Vous pouvez utiliser MediaDevices pour dresser la liste des caméras disponibles et choisir celle à utiliser.

MediaDevices {
    id: mediaDevices
}
CaptureSession {
    camera: Camera {
        cameraDevice: mediaDevices.defaultVideoInput
    }
}

Sur le matériel qui le prend en charge, Camera vous permet de régler 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 {
    zoomFactor: maximumZoomFactor // zoom in as much as possible
}

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 {
    whiteBalanceMode: Camera.WhiteBalanceManual
    colorTemperature: 5600
}

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 le composant CameraPermission 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.

CameraPermission {
    id: cameraPermission
}

Camera {
    active: cameraPermission.status === Qt.PermissionStatus.Granted
}

Component.onCompleted: cameraPermission.request()

Pour plus d'informations, voir la vue d'ensemble de la caméra.

Documentation sur les propriétés

active : bool

Indique si la caméra est actuellement active.

cameraDevice : cameraDevice

Permet d'obtenir ou de définir le dispositif de caméra actuellement actif.

En cas de changement de dispositif de caméra, les capacités de Camera sont mises à jour. En outre, les propriétés de contrôle de Camera(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.

cameraFormat : cameraFormat

Obtient ou définit le format de caméra actuellement actif.

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'équipementier 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é au périphérique en réactivant le site Camera.

Voir également cameraDevice::videoFormats.

colorTemperature : int

Obtient ou définit la température de couleur actuelle.

La définition d'une température de couleur n'aura d'effet que si le mode 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. Le réglage de la température à 0 réinitialise le mode de balance des blancs à BalanceBlancsAuto.

customFocusPoint : point

Cette propriété indique la position du point de focalisation personnalisé, en coordonnées relatives du cadre. Cela signifie que QPointF(0,0) pointe vers le coin supérieur gauche du cadre et QPointF(0,5,0,5) vers le centre du cadre.

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

error : enumeration [read-only]

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

ConstanteDescription de l'erreur
Camera.NoErrorAucune erreur ne s'est produite.
Camera.CameraErrorUne erreur s'est produite.

errorString : string [read-only]

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

exposureCompensation : real

Obtient ou définit la compensation d'exposition en unités EV.

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

exposureMode : enumeration

Mode d'exposition utilisé.

ConstanteDescription du mode d'exposition
Camera.ExposureAutoMode automatique.
Camera.ExposureManualMode manuel.
Camera.ExposurePortraitMode d'exposition portrait.
Camera.ExposureNightMode nuit.
Camera.ExposureSportsMode d'exposition des taches.
Camera.ExposureSnowMode d'exposition à la neige.
Camera.ExposureBeachMode d'exposition Plage.
Camera.ExposureActionMode action. Depuis 5.5
Camera.ExposureLandscapeMode paysage. Depuis 5.5
Camera.ExposureNightPortraitMode portrait nocturne. Depuis la version 5.5
Camera.ExposureTheatreMode théâtre. Depuis la version 5.5
Camera.ExposureSunsetMode coucher de soleil. Depuis la version 5.5
Camera.ExposureSteadyPhotoMode photo fixe. Depuis la version 5.5
Camera.ExposureFireworksMode feux d'artifice. Depuis la version 5.5
Camera.ExposurePartyMode fête. Depuis 5.5
Camera.ExposureCandlelightMode bougies. Depuis la version 5.5
Camera.ExposureBarcodeMode code-barres. Depuis la version 5.5

Voir aussi isExposureModeSupported().

exposureTime : real [read-only]

Renvoie le temps d'exposition de l'appareil photo en secondes.

Voir également manualExposureTime.

flashMode : enumeration

Obtient ou définit 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 de la fonction ImageCapture

ConstanteDescription
Camera.FlashOffLe flash est désactivé.
Camera.FlashOnLe flash est activé.
Camera.FlashAutoFlash automatique.

Voir également isFlashModeSupported(), isFlashReady() et flashReady.

flashReady : bool [read-only]

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

focusDistance : real

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 Camera.FocusModeManual et que supportedFeatures inclut l'indicateur Camera.FocusDistance.

Si vous attribuez une valeur à cette propriété alors que focusMode n'est pas défini sur Camera.FocusModeManual, la propriété enregistre la valeur mais n'affecte pas le dispositif jusqu'à ce que Camera.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 Camera.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.

focusMode : enumeration

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 la mise au point en continu.

Remarque : dans les modes de mise au point automatique et lorsqu'elle est prise en charge, la propriété focusPoint fournit des informations et un contrôle sur la zone de l'image qui est mise au point.

ConstanteDescription du mode autofocus continu.
Camera.FocusModeAutoMode de mise au point automatique continue.
Camera.FocusModeAutoNearMise au point automatique continue, privilégiant les objets proches de la caméra.
Camera.FocusModeAutoFarMise au point automatique continue, privilégiant les objets éloignés de l'appareil photo.
Camera.FocusModeHyperfocalMise au point jusqu'à 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.
Camera.FocusModeInfinityMise au point strictement à l'infini.
Camera.FocusModeManualLa distance de mise au point de l'objectif est réglée sur une valeur spécifiée par focusDistance.

Pour vérifier si l'appareil photo prend en charge un mode de mise au point particulier, passez la valeur focusMode correspondante à la fonction isFocusModeSupported() en tant que paramètre. La fonction renvoie false 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 Camera.FocusModeManual à la propriété focusMode, l'objectif se verrouille sur la mise au point conformément à focusDistance.

Voir également isFocusModeSupported().

focusPoint : point [read-only]

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

isoSensitivity : int [read-only]

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

manualExposureTime : real

Obtient ou définit un temps d'exposition manuel.

En réglant cette propriété sur -1 (valeur par défaut), l'appareil photo détermine automatiquement le temps d'exposition.

manualIsoSensitivity : int

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

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

maximumZoomFactor : real [read-only]

Cette propriété indique le facteur de zoom maximal pris en charge.

Cette propriété sera 1.0 pour les caméras qui ne prennent pas en charge le zoom.

minimumZoomFactor : real [read-only]

Cette propriété indique le facteur de zoom minimum pris en charge.

Elle sera affichée à l'adresse 1.0 pour les caméras qui ne prennent pas en charge le zoom.

supportedFeatures : enumeration [read-only]

Renvoie les caractéristiques prises en charge par cette caméra. La valeur est un masque de bits pouvant contenir l'un des drapeaux suivants. Elle stocke une combinaison OU de valeurs de caractéristiques.

ConstanteDescription
Camera.ColorTemperatureLa caméra prend en charge la définition d'un paramètre personnalisé colorTemperature.
Camera.ExposureCompensationL'appareil photo prend en charge la définition d'un exposureCompensation personnalisé.
Camera.IsoSensitivityL'appareil photo prend en charge la définition d'un isoSensitivity personnalisé.
Camera.ManualExposureTimeLa caméra prend en charge la définition d'un manual exposure Time.
Camera.CustomFocusPointLa caméra prend en charge la définition d'un custom focus point.
Camera.FocusDistanceLa caméra prend en charge la définition de la propriété focusDistance.

torchMode : enumeration

Permet d'obtenir ou de définir 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.

ConstanteDescription
Camera.TorchOffTorche désactivée.
Camera.TorchOnLa torche est activée.
Camera.TorchAutoTorche automatique.

Voir également isTorchModeSupported() et flashMode.

whiteBalanceMode : enumeration

Permet d'obtenir ou de définir le mode de balance des blancs utilisé.

ConstanteDescription
Camera.WhiteBalanceAutoMode de balance des blancs automatique.
Camera.WhiteBalanceManualBalance des blancs manuelle. Dans ce mode, la balance des blancs doit être réglée avec setColorTemperature().
Camera.WhiteBalanceSunlightMode de balance des blancs en fonction de la lumière du soleil.
Camera.WhiteBalanceCloudyMode de balance des blancs nuageux.
Camera.WhiteBalanceShadeMode de balance des blancs ombrageux.
Camera.WhiteBalanceTungstenMode de balance des blancs tungstène (incandescent).
Camera.WhiteBalanceFluorescentMode de balance des blancs fluorescent.
Camera.WhiteBalanceFlashMode de balance des blancs du flash.
Camera.WhiteBalanceSunsetMode de balance des blancs coucher de soleil.

Voir également isWhiteBalanceModeSupported().

zoomFactor : real

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

Documentation sur le signal

void errorOccurred(Camera::Error error, string errorString)

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

Remarque : le gestionnaire correspondant est onErrorOccurred.

Documentation de la méthode

bool isExposureModeSupported(ExposureMode mode)

Retourne true si l'exposition mode est prise en charge.

bool isFlashModeSupported(FlashMode mode)

Retourne vrai si le flash mode est pris en charge.

bool isFlashReady()

Retourne vrai si le flash est chargé.

bool isFocusModeSupported(FocusMode mode)

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

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

bool isTorchModeSupported(TorchMode mode)

Renvoie un résultat positif si la torche mode est prise en charge.

bool isWhiteBalanceModeSupported(WhiteBalanceMode mode)

Retourne true si la balance des blancs mode est prise en charge.

void start()

Démarre la caméra.

C'est la même chose que de définir la propriété active sur true.

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

void stop()

Arrête la caméra. Identique à la définition de la propriété active sur false.

void zoomTo(factor, 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.