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
- active : bool
- cameraDevice : cameraDevice
- cameraFormat : cameraFormat
- colorTemperature : int
- customFocusPoint : point
- error : enumeration
- errorString : string
- exposureCompensation : real
- exposureMode : enumeration
- exposureTime : real
- flashMode : enumeration
- flashReady : bool
- focusDistance : real
- focusMode : enumeration
- focusPoint : point
- isoSensitivity : int
- manualExposureTime : real
- manualIsoSensitivity : int
- maximumZoomFactor : real
- minimumZoomFactor : real
- supportedFeatures : enumeration
- torchMode : enumeration
- whiteBalanceMode : enumeration
- zoomFactor : real
Signaux
- void errorOccurred(Camera::Error error, string errorString)
Méthodes
- bool isExposureModeSupported(ExposureMode mode)
- bool isFlashModeSupported(FlashMode mode)
- bool isFlashReady()
- bool isFocusModeSupported(FocusMode mode)
- bool isTorchModeSupported(TorchMode mode)
- bool isWhiteBalanceModeSupported(WhiteBalanceMode mode)
- void start()
- void stop()
- void zoomTo(factor, rate)
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.
| Constante | Description |
|---|---|
Camera.NoError | Aucune erreur ne s'est produite. |
Camera.CameraError | Une 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é.
| Constant | Description |
|---|---|
Camera.ExposureAuto | Mode automatique. |
Camera.ExposureManual | Mode manuel. |
Camera.ExposurePortrait | Mode d'exposition « Portrait ». |
Camera.ExposureNight | Mode nuit. |
Camera.ExposureSports | Mode d'exposition « Spots ». |
Camera.ExposureSnow | Mode d'exposition « Neige ». |
Camera.ExposureBeach | Mode d'exposition « Plage ». |
Camera.ExposureAction | Mode Action. Depuis la version 5.5 |
Camera.ExposureLandscape | Mode Paysage. À partir de la version 5.5 |
Camera.ExposureNightPortrait | Mode « Portrait de nuit ». À partir de la version 5.5 |
Camera.ExposureTheatre | Mode « Théâtre ». À partir de la version 5.5 |
Camera.ExposureSunset | Mode « Coucher de soleil ». À partir de la version 5.5 |
Camera.ExposureSteadyPhoto | Mode « Photo stable ». Depuis la version 5.5 |
Camera.ExposureFireworks | Mode « Feux d'artifice ». Depuis la version 5.5 |
Camera.ExposureParty | Mode « Fête ». Depuis la version 5.5 |
Camera.ExposureCandlelight | Mode « À la lueur des bougies ». Depuis la version 5.5 |
Camera.ExposureBarcode | Mode « 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
| Constant | Description |
|---|---|
Camera.FlashOff | Le flash est désactivé. |
Camera.FlashOn | Le flash est activé. |
Camera.FlashAuto | Flash 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.
| Constante | Description |
|---|---|
Camera.FocusModeAuto | Mode de mise au point automatique continue. |
Camera.FocusModeAutoNear | Mise au point automatique continue, privilégiant les objets proches de l'appareil photo. |
Camera.FocusModeAutoFar | Mise au point automatique continue, privilégiant les objets éloignés de l'appareil photo. |
Camera.FocusModeHyperfocal | Mise 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.FocusModeInfinity | Mise au point strictement à l'infini. |
Camera.FocusModeManual | La 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.
| Constante | Description |
|---|---|
Camera.ColorTemperature | La caméra prend en charge la configuration d’une colorTemperature personnalisée. |
Camera.ExposureCompensation | La caméra prend en charge la configuration d'une « exposureCompensation » personnalisée. |
Camera.IsoSensitivity | La caméra prend en charge la configuration d'une « isoSensitivity » personnalisée. |
Camera.ManualExposureTime | L'appareil photo prend en charge la configuration d'une manual exposure Time. |
Camera.CustomFocusPoint | La caméra prend en charge la configuration d'une custom focus point. |
Camera.FocusDistance | La 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.
| Constant | Description |
|---|---|
Camera.TorchOff | La lampe torche est éteinte. |
Camera.TorchOn | La lampe torche est allumée. |
Camera.TorchAuto | Lampe de poche automatique. |
Voir aussi isTorchModeSupported() et flashMode.
whiteBalanceMode : enumeration
Récupère ou définit le mode de balance des blancs actuellement utilisé.
| Constante | Description |
|---|---|
Camera.WhiteBalanceAuto | Mode de balance des blancs automatique. |
Camera.WhiteBalanceManual | Balance des blancs manuelle. Dans ce mode, la balance des blancs doit être définie à l'aide de la méthode setColorTemperature() |
Camera.WhiteBalanceSunlight | Mode de balance des blancs « Lumière du soleil ». |
Camera.WhiteBalanceCloudy | Mode de balance des blancs « Nuageux ». |
Camera.WhiteBalanceShade | Mode de balance des blancs « Ombre ». |
Camera.WhiteBalanceTungsten | Mode de balance des blancs « tungstène » (incandescent). |
Camera.WhiteBalanceFluorescent | Mode de balance des blancs « Fluorescent ». |
Camera.WhiteBalanceFlash | Mode de balance des blancs « Flash ». |
Camera.WhiteBalanceSunset | Mode 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.