QCamera Class
La classe QCamera fournit une interface pour les appareils photo du système. En savoir plus...
| 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érite de : | 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é au sein d'une instance de ` QMediaCaptureSession ` pour l'enregistrement vidéo et la prise de photos.
Vous pouvez utiliser l'QCameraDevice pour répertorier les 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 les matériels qui le prennent en charge, l'QCamera vous permet de régler la mise au point et le zoom. Les propriétés minimumZoomFactor et maximumZoomFactor fournissent la plage des facteurs de zoom pris en charge. La propriété zoomFactor permet de modifier le facteur de zoom.
camera->setZoomFactor(camera->maximumZoomFactor()); // zoom in as much as possibleAprès la capture des 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->setWhiteBalanceMode(QCamera::WhiteBalanceManual);
camera->setColorTemperature(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 la classe ` QCameraPermission ` 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.
qApp->requestPermission(QCameraPermission{}, [](const QPermission &permission) {
if (permission.status() == Qt::PermissionStatus::Granted)
camera->setActive(true);
});Consultez la présentation de la caméra pour plus d’informations.
Remarque : sur la plateforme 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 des contextes https sécurisés.
Documentation sur les types de membres
enum QCamera::Error
Cette énumération contient le dernier code d'erreur.
| Constante | Valeur | Description |
|---|---|---|
QCamera::NoError | 0 | Aucune erreur ne s'est produite. |
QCamera::CameraError | 1 | Une erreur s'est produite. |
enum QCamera::ExposureMode
| Constante | Valeur | Description |
|---|---|---|
QCamera::ExposureAuto | 0 | Mode automatique. |
QCamera::ExposureManual | 1 | Mode manuel. |
QCamera::ExposurePortrait | 2 | Mode d'exposition « Portrait ». |
QCamera::ExposureNight | 3 | Mode nuit. |
QCamera::ExposureSports | 4 | Mode d'exposition « Spots ». |
QCamera::ExposureSnow | 5 | Mode d'exposition « Neige ». |
QCamera::ExposureBeach | 6 | Mode d'exposition « Plage ». |
QCamera::ExposureAction | 7 | Mode Action. Depuis la version 5.5 |
QCamera::ExposureLandscape | 8 | Mode Paysage. À partir de la version 5.5 |
QCamera::ExposureNightPortrait | 9 | Mode « Portrait de nuit ». À partir de la version 5.5 |
QCamera::ExposureTheatre | 10 | Mode « Théâtre ». À partir de la version 5.5 |
QCamera::ExposureSunset | 11 | Mode « Coucher de soleil ». Depuis la version 5.5 |
QCamera::ExposureSteadyPhoto | 12 | Mode « Photo stable ». Depuis la version 5.5 |
QCamera::ExposureFireworks | 13 | Mode « Feux d'artifice ». Depuis la version 5.5 |
QCamera::ExposureParty | 14 | Mode « Fête ». Depuis la version 5.5 |
QCamera::ExposureCandlelight | 15 | Mode « À la lueur des bougies ». Depuis la version 5.5 |
QCamera::ExposureBarcode | 16 | Mode « Code-barres ». Depuis la version 5.5 |
enum class QCamera::Feature
flags QCamera::Features
Décrit un ensemble de fonctionnalités prises en charge par l'appareil photo. La valeur renvoyée peut être une combinaison des éléments suivants :
| Constante | Valeur | Description |
|---|---|---|
QCamera::Feature::ColorTemperature | 0x1 | L'appareil photo prend en charge la configuration d'une colorTemperature personnalisée. |
QCamera::Feature::ExposureCompensation | 0x2 | La caméra prend en charge la configuration d'une exposureCompensation personnalisée. |
QCamera::Feature::IsoSensitivity | 0x4 | La caméra prend en charge la configuration d'un isoSensitivity personnalisé. |
QCamera::Feature::ManualExposureTime | 0x8 | L'appareil photo prend en charge la configuration d'une manual exposure Time. |
QCamera::Feature::CustomFocusPoint | 0x10 | La caméra prend en charge la configuration d’une custom focus point. |
QCamera::Feature::FocusDistance | 0x20 | La caméra prend en charge la définition de la propriété « focusDistance ». |
Le type Features est un typedef pour QFlags<Feature>. Il stocke une combinaison OR de valeurs Feature.
enum QCamera::FlashMode
| Constante | Valeur | Description |
|---|---|---|
QCamera::FlashOff | 0 | Le flash est désactivé. |
QCamera::FlashOn | 1 | Le flash est activé. |
QCamera::FlashAuto | 2 | Flash automatique. |
enum QCamera::FocusMode
| Constante | Valeur | Description |
|---|---|---|
QCamera::FocusModeAuto | 0 | Mode de mise au point automatique en continu. |
QCamera::FocusModeAutoNear | 1 | Mode de mise au point automatique en continu sur des objets proches. |
QCamera::FocusModeAutoFar | 2 | Mode de mise au point automatique continue sur des objets éloignés. |
QCamera::FocusModeHyperfocal | 3 | Mise au point à la distance hyperfocale, avec une profondeur de champ maximale. Tous les objets situés à des distances comprises entre la moitié de cette distance et l'infini seront suffisamment nets. |
QCamera::FocusModeInfinity | 4 | Mise au point strictement à l'infini. |
QCamera::FocusModeManual | 5 | La distance de mise au point de l'objectif de l'appareil photo est verrouillée conformément à focusDistance. |
enum QCamera::TorchMode
| Constante | Valeur | Description |
|---|---|---|
QCamera::TorchOff | 0 | La lampe est éteinte. |
QCamera::TorchOn | 1 | La torche est allumée. |
QCamera::TorchAuto | 2 | Torche automatique. |
enum QCamera::WhiteBalanceMode
| Constante | Valeur | Description |
|---|---|---|
QCamera::WhiteBalanceAuto | 0 | Mode de balance des blancs automatique. |
QCamera::WhiteBalanceManual | 1 | Balance des blancs manuelle. Dans ce mode, la balance des blancs doit être réglée à l'aide de l'setColorTemperature e () |
QCamera::WhiteBalanceSunlight | 2 | Mode de balance des blancs « Lumière du soleil ». |
QCamera::WhiteBalanceCloudy | 3 | Mode de balance des blancs « Nuageux ». |
QCamera::WhiteBalanceShade | 4 | Mode de balance des blancs « Ombre ». |
QCamera::WhiteBalanceTungsten | 5 | Mode de balance des blancs « tungstène » (incandescent). |
QCamera::WhiteBalanceFluorescent | 6 | Mode de balance des blancs « Fluorescent ». |
QCamera::WhiteBalanceFlash | 7 | Mode de balance des blancs « Flash ». |
QCamera::WhiteBalanceSunset | 8 | Mode 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 :
Signal de notification :
| void | activeChanged(bool) |
cameraDevice : QCameraDevice
Renvoie l'objet ` QCameraDevice ` associé à cette caméra.
Lors du changement de caméra, les capacités de l'QCamera sont mises à jour. De plus, les propriétés de contrôle de l'QCamera(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.
Fonctions d’accès :
| QCameraDevice | cameraDevice() const |
| void | setCameraDevice(const QCameraDevice &cameraDevice) |
Signal de notification :
| void | cameraDeviceChanged() |
cameraFormat : QCameraFormat
Renvoie le format actuellement utilisé par la caméra.
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’ QCamera.
Fonctions d’accès :
| QCameraFormat | cameraFormat() const |
| void | setCameraFormat(const QCameraFormat &format) |
Signal de notification :
| void | cameraFormatChanged() |
Voir également 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 renvoyée n'est pas dé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 mise au point personnalisé, en coordonnées relatives du cadre : QPointF(0,0) correspond au coin supérieur gauche du cadre, QPointF(0,5,0,5) correspond au centre du cadre.
Vous pouvez vérifier si les points de mise au point personnalisés sont pris en charge en interrogeant la méthode supportedFeatures() avec le drapeau 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 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 d'exposition en unités EV.
La fonction de compensation d'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 actuellement 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 l'appareil photo 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 actuellement utilisé.
Active un mode 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 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 à l'emploi.
Fonctions d'accès :
| bool | isFlashReady() const | [see note below] |
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis 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 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 ` FocusModeManual` et que ` supportedFeatures ` inclut l’indicateur ` Feature::FocusDistance `.
Si vous attribuez une valeur à cette propriété alors que l’option « focusMode » n’est pas définie sur « QCamera::FocusModeManual », la propriété enregistre la valeur mais n’affecte pas le périphérique tant que l’option « QCamera::FocusModeManual » n’est pas active.
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 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.
Fonctions d’accès :
| float | focusDistance() const |
| void | setFocusDistance(float d) |
Signal de notification :
| void | focusDistanceChanged(float) |
focusMode : FocusMode
Cette propriété contient le mode de mise au point actuel de l'appareil photo.
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 en continu.
Pour vérifier si l'appareil photo prend en charge un mode de mise au point particulier, transmettez la valeur correspondante de ` FocusMode ` à 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 QCamera::FocusModeManual, l'objectif verrouille la mise au point conformément à focusDistance.
Fonctions d'accès :
| QCamera::FocusMode | focusMode() const |
| void | setFocusMode(QCamera::FocusMode mode) |
Signal de notification :
| void | focusModeChanged() |
Voir également isFocusModeSupported().
[read-only] focusPoint : QPointF
Renvoie le point actuellement utilisé par le système de mise au point automatique pour effectuer la mise au point.
Fonctions d'accès :
| QPointF | focusPoint() const |
Signal de notification :
| void | focusPointChanged() |
[read-only] isoSensitivity : int
Cette propriété indique la sensibilité ISO du capteur.
Elle 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églez la durée d'exposition manuelle sur seconds
Fonctions d'accès :
| 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
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.
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.
Cette valeur sera égale à 1.0 sur les appareils photo ne prenant 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 minimal.
Cette valeur sera égale à 1.0 sur 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 fonctionnalités prises en charge par cet appareil photo.
Fonctions d'accès :
| QCamera::Features | supportedFeatures() const |
Signal de notification :
| void | supportedFeaturesChanged() |
Voir aussi QCamera::Feature.
torchMode : QCamera::TorchMode
Cette propriété contient 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 sélectionné.
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 actuellement 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.
Récupère ou définit le facteur de zoom actuel. Les valeurs sont limitées entre minimumZoomFactor et maximumZoomFactor.
Fonctions d'accès :
| float | zoomFactor() const |
| void | setZoomFactor(float factor) |
Signal de notification :
| void | zoomFactorChanged(float) |
Documentation des fonctions membres
[explicit] QCamera::QCamera(QObject *parent = nullptr)
Créer 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)
Créez une instance de QCamera utilisant une caméra matérielle située à l'adresse spécifiée position.
Par exemple, sur un téléphone mobile, cela permet de choisir facilement entre la caméra avant et la caméra arrière.
Si aucune caméra n’est disponible à l’ position spécifiée ou si position est QCameraDevice::UnspecifiedPosition, la caméra par défaut est utilisée.
[explicit] QCamera::QCamera(const QCameraDevice &cameraDevice, QObject *parent = nullptr)
Créer une instance de `QCamera` à partir d'une description de caméra cameraDevice et parent.
[override virtual noexcept] QCamera::~QCamera()
Supprime 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 la fonction ` 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 sous la forme « errorString ».
[signal] void QCamera::exposureCompensationChanged(float value)
Signal émis lorsque la compensation d'exposition passe à la valeur « value ».
Remarque : signalde notification pour la propriété exposureCompensation.
float QCamera::exposureTime() const
Renvoie la durée d'exposition actuelle en secondes.
Remarque : fonctiongetter pour la propriété exposureTime.
[signal] void QCamera::exposureTimeChanged(float speed)
Indique que l'speed d'exposition d'une caméra a changé.
Remarque : signalde notification pour la propriété « exposureTime ».
[signal] void QCamera::flashReady(bool ready)
Indique que l'état de l'ready du flash a changé.
Remarque : signalde notification pour la propriété flashReady.
[signal] void QCamera::focusModeChanged()
Émet un signal lorsque la propriété « focusMode » change.
Remarque : signalde notification pour la propriété focusMode.
bool QCamera::isActive() const
Renvoie « true » si la caméra est actuellement active.
Remarque : fonctiongetter pour la propriété « active ».
bool QCamera::isAvailable() const
Renvoie « true » si la caméra peut être utilisée.
[invokable] bool QCamera::isExposureModeSupported(QCamera::ExposureMode mode) const
Renvoie « true » si l’ mode d’exposition est prise en charge.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[invokable] bool QCamera::isFlashModeSupported(QCamera::FlashMode mode) const
Renvoie « true » si l'mode Flash est prise en charge.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[invokable] bool QCamera::isFlashReady() const
Renvoie « true » si le flash est chargé.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
Remarque : fonctiongetter 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 pris en charge, la fonctionnalité « Feature::FocusDistance » est également considérée comme prise en charge.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[invokable] bool QCamera::isTorchModeSupported(QCamera::TorchMode mode) const
Renvoie « true » si l'mode « torch » est prise en charge.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[invokable] bool QCamera::isWhiteBalanceModeSupported(QCamera::WhiteBalanceMode mode) const
Renvoie « true » si l'mode de balance des blancs est prise en charge.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[signal] void QCamera::isoSensitivityChanged(int value)
Signal émis lorsque la sensibilité passe à value.
Remarque : signalde notification pour la propriété isoSensitivity.
float QCamera::manualExposureTime() const
Renvoie la durée d'exposition manuelle en secondes, ou -1 si l'appareil photo utilise des durées d'exposition automatiques.
Remarque : fonctiongetter pour la propriété `manualExposureTime`.
Voir aussi setManualExposureTime().
float QCamera::maximumExposureTime() const
La durée maximale d'exposition, en secondes.
int QCamera::maximumIsoSensitivity() const
Renvoie la sensibilité ISO maximale prise en charge par l'appareil photo.
float QCamera::minimumExposureTime() const
La durée minimale d'exposition, en secondes.
int QCamera::minimumIsoSensitivity() const
Renvoie la sensibilité ISO minimale prise en charge par l'appareil photo.
[slot] void QCamera::setActive(bool active)
Active la caméra si la propriété active a la valeur « true », ou la désactive si elle a la valeur « false ».
Remarque : fonctionde définition pour la propriété active.
Voir aussi isActive().
[slot] void QCamera::setAutoExposureTime()
Utiliser la durée d'exposition calculée automatiquement
[slot] void QCamera::setAutoIsoSensitivity()
Activer la sensibilité automatique
void QCamera::setCameraDevice(const QCameraDevice &cameraDevice)
Relie l'objet caméra au périphérique physique décrit par cameraDevice. L'utilisation d'un objet QCameraDevice créé par défaut comme cameraDevice permettra de connecter la caméra au périphérique par défaut du système.
Lors du changement de périphérique de caméra, les capacités de l'QCamera sont mises à jour. De plus, les propriétés de contrôle de l'QCamera(telles que focusMode, flashMode, focusDistance, zoomFactor) sont mises à jour comme suit :
- Si une propriété est prise en charge sur 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.
Remarque : fonctionde définition pour la propriété cameraDevice.
Voir également ` cameraDevice()`.
void QCamera::setCameraFormat(const QCameraFormat &format)
Indique à la caméra d'utiliser le format décrit à l'adresse format. Cette option permet de 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 Android cible, si vous demandez le format YUV420P, vous obtiendrez soit un YUV420P 4:2:0 entièrement planaire, soit un NV12/NV21 semi-planaire. Cela dépend du codec implémenté par le fabricant de l'appareil.
Remarque : fonctionde définition de la propriété cameraFormat.
Voir également cameraFormat().
[slot] void QCamera::setColorTemperature(int colorTemperature)
Définit la balance des blancs manuelle sur colorTemperature. Cette option est utilisée lorsque whiteBalanceMode() est défini sur WhiteBalanceManual. Les unités sont exprimées en kelvins.
La définition d’une température de couleur n’aura d’effet que si la propriété WhiteBalanceManual est prise en charge. Dans ce cas, définir une température supérieure à 0 réglera 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.
Remarque : fonctionde définition de la propriété colorTemperature.
Voir également colorTemperature().
[slot] void QCamera::setWhiteBalanceMode(QCamera::WhiteBalanceMode mode)
Définit la balance des blancs sur « mode ».
Remarque : fonctionde définition de la propriété whiteBalanceMode.
Voir également whiteBalanceMode().
void QCamera::setZoomFactor(float factor)
Effectue un zoom avec un facteur de zoom de factor à raison d'un facteur par seconde.
Remarque : fonctionde définition de la propriété zoomFactor.
Voir également zoomFactor().
[slot] void QCamera::start()
Lance la caméra.
Identique à ` setActive(true)`.
Si, pour une raison quelconque, la caméra ne peut pas être lancée, le signal errorOccurred() est émis.
[slot] void QCamera::stop()
Arrête la caméra. Équivalent à ` setActive(false)`.
[slot] void QCamera::zoomTo(float factor, float 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.