Sur cette page

Camera QML Type

Une interface permettant de régler les paramètres de l'appareil photo liés à la mise au point et au zoom. En savoir plus...

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 une instance de CaptureSession pour enregistrer des vidéos et prendre des photos.

Vous pouvez utiliser l'MediaDevices pour répertorier les caméras disponibles et choisir celle que vous souhaitez utiliser.

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

Sur les matériels qui le prennent en charge, la fonction « Camera » vous permet de régler la mise au point et le zoom. Les propriétés « minimumZoomFactor » et « maximumZoomFactor » indiquent la plage 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 d’image pour produire l’image finale. Cela inclut la compensation de la couleur de la lumière ambiante, la réduction du bruit, ainsi que d’autres ajustements de l’image.

Vous pouvez contrôler bon nombre de ces étapes de traitement via les propriétés de la caméra. 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 capturées par la caméra, consultez la section 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 bref 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()

Consultez la présentation de la caméra pour plus d’informations.

Documentation sur les propriétés

active : bool

Indique si la caméra est actuellement active.

cameraDevice : cameraDevice

Récupère ou définit la caméra actuellement active.

Lors du changement de périphérique de caméra, les capacités de l'Camera sont mises à jour. De plus, les propriétés de contrôle de l'Camera(telles que focusMode, flashMode, focusDistance, zoomFactor) sont mises à jour comme suit :

  • Si une propriété est prise en charge par le nouvel appareil, sa valeur est appliquée à 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 limitée à la nouvelle plage et appliquée à la caméra.
  • Si le nouvel appareil photo ne prend pas en charge une propriété, la valeur de cette propriété est réinitialisée à sa valeur par défaut et aucune modification n’est apportée à l’appareil photo.

cameraFormat : cameraFormat

Récupère ou définit le format de caméra actuellement actif.

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

Remarque : sous macOS, les caméras sont partagées 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 s’attendre à recevoir des images vidéo dont la résolution, le format de pixels et la fréquence d’images diffèrent 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 l’ Camera.

Voir également cameraDevice::videoFormats.

colorTemperature : int

Récupère ou définit la température de couleur actuelle.

La définition d'une température de couleur n'aura d'effet que si la fonction WhiteBalanceManual est prise en charge. Dans ce cas, définir une température supérieure à 0 basculera automatiquement le mode de balance des blancs sur WhiteBalanceManual. Définir la température sur 0 réinitialisera le mode de balance des blancs sur WhiteBalanceAuto.

customFocusPoint : point

Cette propriété stocke la position d'un point de mise au point personnalisé, en coordonnées relatives à l'image. Cela signifie que QPointF(0,0) correspond au coin supérieur gauche de l'image, et que QPointF(0,5,0,5) correspond au centre de l'image.

Vous pouvez vérifier si les points de mise au point personnalisés sont pris en charge en interrogeant la méthode `supportedFeatures()` avec l'indicateur `Feature.CustomFocusPoint`.

error : enumeration [read-only]

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

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

errorString : string [read-only]

Renvoie une chaîne de caractères lisible par l'utilisateur décrivant l'état d'erreur d'une caméra.

exposureCompensation : real

Permet d'obtenir ou de définir la correction d'exposition en unités EV.

La propriété « Compensation d'exposition » permet d'ajuster l'exposition calculée automatiquement.

exposureMode : enumeration

Le mode d'exposition utilisé.

ConstantDescription
Camera.ExposureAutoMode automatique.
Camera.ExposureManualMode manuel.
Camera.ExposurePortraitMode d'exposition « Portrait ».
Camera.ExposureNightMode nuit.
Camera.ExposureSportsMode d'exposition « Spots ».
Camera.ExposureSnowMode d'exposition « Neige ».
Camera.ExposureBeachMode d'exposition « Plage ».
Camera.ExposureActionMode Action. Depuis la version 5.5
Camera.ExposureLandscapeMode Paysage. À partir de la version 5.5
Camera.ExposureNightPortraitMode « Portrait de nuit ». À partir de la version 5.5
Camera.ExposureTheatreMode « Théâtre ». À partir de la version 5.5
Camera.ExposureSunsetMode « Coucher de soleil ». À partir de la version 5.5
Camera.ExposureSteadyPhotoMode « Photo stable ». Depuis la version 5.5
Camera.ExposureFireworksMode « Feux d'artifice ». Depuis la version 5.5
Camera.ExposurePartyMode « Fête ». Depuis la version 5.5
Camera.ExposureCandlelightMode « À la lueur des bougies ». Depuis la version 5.5
Camera.ExposureBarcodeMode « Code-barres ». Depuis la version 5.5

Voir aussi isExposureModeSupported().

exposureTime : real [read-only]

Renvoie la durée d'exposition de la caméra en secondes.

Voir aussi manualExposureTime.

flashMode : enumeration

Permet d'obtenir ou de définir un mode de flash spécifique 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 ImageCapture

ConstantDescription
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 à l'emploi.

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 vont de 0 à 1, où 0 correspond à la distance de mise au point la plus proche possible et 1 à la plus éloignée. Le point le plus éloigné se situe généralement à l'infini, mais cela peut ne pas être le cas pour tous les appareils.

Cette propriété s’applique à l’appareil uniquement 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 l’option « focusMode » n’est pas définie sur « Camera.FocusModeManual », la propriété enregistre la valeur mais n’affecte pas le périphérique tant que l’option « Camera.FocusModeManual » n’est pas active.

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

Si le paramètre « supportedFeatures » n’inclut pas l’indicateur « Camera.FocusDistance », toute tentative de configuration de cette propriété est ignorée.

Cette propriété ne sera 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 détermine 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 en continu.

Remarque : dans les modes de mise au point automatique et lorsque cette fonctionnalité est prise en charge, la propriété ` focusPoint ` fournit des informations et permet de contrôler la zone de l'image sur laquelle la mise au point est effectuée.

ConstanteDescription
Camera.FocusModeAutoMode de mise au point automatique continue.
Camera.FocusModeAutoNearMise au point automatique continue, privilégiant les objets proches de l'appareil photo.
Camera.FocusModeAutoFarMise au point automatique continue, privilégiant les objets éloignés de l'appareil photo.
Camera.FocusModeHyperfocalMise au point à la distance hyperfocale, pour une profondeur de champ maximale. Tous les objets situés entre la moitié de cette distance et l'infini seront suffisamment nets.
Camera.FocusModeInfinityMise au point strictement à l'infini.
Camera.FocusModeManualLa distance de mise au point de l'objectif est définie 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, transmettez 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 définissez la propriété focusMode sur Camera.FocusModeManual, 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 effectuer la mise au point.

isoSensitivity : int [read-only]

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

manualExposureTime : real

Permet d'obtenir ou de définir une durée d'exposition manuelle.

Si cette propriété est définie sur -1 (valeur par défaut), l'appareil photo détermine automatiquement la durée d'exposition.

manualIsoSensitivity : int

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

Si cette propriété est définie sur -1 (valeur par défaut), cela signifie 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.

Elle prendra la valeur « 1.0 » sur les appareils photo qui ne prennent pas en charge le zoom.

minimumZoomFactor : real [read-only]

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

Elle prendra la valeur « 1.0 » sur les caméras qui ne prennent pas en charge le zoom.

supportedFeatures : enumeration [read-only]

Renvoie les fonctionnalités prises en charge par cette caméra. La valeur est un masque de bits pouvant contenir n'importe lequel des indicateurs suivants. Elle stocke une combinaison (ou) des valeurs de ces fonctionnalités.

ConstanteDescription
Camera.ColorTemperatureLa caméra prend en charge la configuration d’une colorTemperature personnalisée.
Camera.ExposureCompensationLa caméra prend en charge la configuration d'une « exposureCompensation » personnalisée.
Camera.IsoSensitivityLa caméra prend en charge la configuration d'une « isoSensitivity » personnalisée.
Camera.ManualExposureTimeL'appareil photo prend en charge la configuration d'une manual exposure Time.
Camera.CustomFocusPointLa caméra prend en charge la configuration d'une custom focus point.
Camera.FocusDistanceLa caméra prend en charge la configuration de la propriété « focusDistance ».

torchMode : enumeration

Récupère ou définit le mode « lampe de poche » actuellement utilisé.

Une lampe 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 lampe torche remplace généralement tout mode flash actuellement défini.

ConstantDescription
Camera.TorchOffLa lampe torche est éteinte.
Camera.TorchOnLa lampe torche est allumée.
Camera.TorchAutoLampe de poche automatique.

Voir aussi isTorchModeSupported() et flashMode.

whiteBalanceMode : enumeration

Récupère ou définit le mode de balance des blancs actuellement utilisé.

ConstanteDescription
Camera.WhiteBalanceAutoMode de balance des blancs automatique.
Camera.WhiteBalanceManualBalance des blancs manuelle. Dans ce mode, la balance des blancs doit être définie à l'aide de la méthode setColorTemperature()
Camera.WhiteBalanceSunlightMode de balance des blancs « Lumière du soleil ».
Camera.WhiteBalanceCloudyMode de balance des blancs « Nuageux ».
Camera.WhiteBalanceShadeMode de balance des blancs « Ombre ».
Camera.WhiteBalanceTungstenMode de balance des blancs « tungstène » (incandescent).
Camera.WhiteBalanceFluorescentMode de balance des blancs « Fluorescent ».
Camera.WhiteBalanceFlashMode de balance des blancs « Flash ».
Camera.WhiteBalanceSunsetMode de balance des blancs « Coucher de soleil ».

Voir aussi isWhiteBalanceModeSupported().

zoomFactor : real

Récupère ou définit le facteur de zoom actuel. Les valeurs sont limitées entre minimumZoomFactor et maximumZoomFactor.

Documentation sur les signaux

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 sous la forme « errorString ».

Remarque : le gestionnaire correspondant est onErrorOccurred.

Documentation de la méthode

bool isExposureModeSupported(ExposureMode mode)

Renvoie « true » si l'mode d'exposition est prise en charge.

bool isFlashModeSupported(FlashMode mode)

Renvoie « true » si l'mode Flash est prise en charge.

bool isFlashReady()

Renvoie « true » si le flash est chargé.

bool isFocusModeSupported(FocusMode mode)

Renvoie « true » si la mise au point « mode » est prise en charge par l'appareil photo.

Si l’ Camera.FocusDistance « Camera.FocusModeManual » est signalée comme prise en charge, la fonctionnalité « » est alors implicitement prise en charge également.

bool isTorchModeSupported(TorchMode mode)

Renvoie « true » si l'mode « torch » est prise en charge.

bool isWhiteBalanceModeSupported(WhiteBalanceMode mode)

Renvoie « true » si l'mode de la balance des blancs est prise en charge.

void start()

Lance la caméra.

Cela revient à définir la propriété « active » sur « true ».

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

void stop()

Arrête la caméra. Cela revient à définir la propriété « active » sur « false ».

void zoomTo(factor, rate)

Effectue un zoom jusqu'à un facteur de zoom factor à l'aide de rate.

La valeur rate est exprimée 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 tous les appareils photo. Si cette fonctionnalité n'est pas prise en charge, le zoom s'effectuera 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.