QImageCapture Class
La classe QImageCapture sert à l'enregistrement de contenus multimédias. En savoir plus...
| En-tête : | #include <QImageCapture> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
| qmake : | QT += multimedia |
| Hérite de : | QObject |
Types publics
| enum | Error { NoError, NotReadyError, ResourceError, OutOfSpaceError, NotSupportedFeatureError, FormatError } |
| enum | FileFormat { UnspecifiedFormat, JPEG, PNG, WebP, Tiff } |
| enum | Quality { VeryLowQuality, LowQuality, NormalQuality, HighQuality, VeryHighQuality } |
Propriétés
|
|
Fonctions publiques
| QImageCapture(QObject *parent = nullptr) | |
| virtual | ~QImageCapture() override |
| void | addMetaData(const QMediaMetaData &metaData) |
| QMediaCaptureSession * | captureSession() const |
| QImageCapture::Error | error() const |
| QString | errorString() const |
| QImageCapture::FileFormat | fileFormat() const |
| bool | isAvailable() const |
| bool | isReadyForCapture() const |
| QMediaMetaData | metaData() const |
| QImageCapture::Quality | quality() const |
| QSize | resolution() const |
| void | setFileFormat(QImageCapture::FileFormat format) |
| void | setMetaData(const QMediaMetaData &metaData) |
| void | setQuality(QImageCapture::Quality quality) |
| void | setResolution(const QSize &resolution) |
| void | setResolution(int width, int height) |
Emplacements publics
| int | capture() |
| int | captureToFile(const QString &file = QString()) |
Signaux
| void | errorChanged() |
| void | errorOccurred(int id, QImageCapture::Error error, const QString &errorString) |
| void | fileFormatChanged() |
| void | imageAvailable(int id, const QVideoFrame &frame) |
| void | imageCaptured(int id, const QImage &preview) |
| void | imageExposed(int id) |
| void | imageMetadataAvailable(int id, const QMediaMetaData &metaData) |
| void | imageSaved(int id, const QString &fileName) |
| void | metaDataChanged() |
| void | qualityChanged() |
| void | readyForCaptureChanged(bool ready) |
| void | resolutionChanged() |
Membres publics statiques
| QString | fileFormatDescription(QImageCapture::FileFormat f) |
| QString | fileFormatName(QImageCapture::FileFormat f) |
| QList<QImageCapture::FileFormat> | supportedFormats() |
Description détaillée
La classe QImageCapture est une classe de haut niveau dédiée à l'enregistrement d'images. Elle n'est pas destinée à être utilisée seule, mais à accéder aux fonctions d'enregistrement multimédia d'autres objets multimédias, tels que QCamera.
QMediaCaptureSession captureSession;
camera = new QCamera;
captureSession.setCamera(camera);
viewfinder = new QVideoWidget;
viewfinder->show();
captureSession.setVideoOutput(viewfinder);
imageCapture = new QImageCapture;
captureSession.setImageCapture(imageCapture);
camera->start();
// on shutter button pressed
imageCapture->capture();Voir également QCamera.
Documentation sur les types de membres
enum QImageCapture::Error
| Constante | Valeur | Description |
|---|---|---|
QImageCapture::NoError | 0 | Aucune erreur. |
QImageCapture::NotReadyError | 1 | Le service n'est pas encore prêt pour la capture. |
QImageCapture::ResourceError | 2 | L'appareil n'est pas prêt ou n'est pas disponible. |
QImageCapture::OutOfSpaceError | 3 | Plus d'espace disponible sur l'appareil. |
QImageCapture::NotSupportedFeatureError | 4 | L'appareil ne prend pas en charge la capture d'images fixes. |
QImageCapture::FormatError | 5 | Le format actuel n'est pas pris en charge. |
enum QImageCapture::FileFormat
Choisissez l'un des formats d'image suivants :
| Constante | Valeur | Description |
|---|---|---|
QImageCapture::UnspecifiedFormat | 0 | Aucun format spécifié |
QImageCapture::JPEG | 1 | .jpg ou format « .jpeg » |
QImageCapture::PNG | 2 | .png format |
QImageCapture::WebP | 3 | .webp format |
QImageCapture::Tiff | 4 | .tiff format |
enum QImageCapture::Quality
Énumère les niveaux de qualité d'encodage.
| Constante | Valeur |
|---|---|
QImageCapture::VeryLowQuality | 0 |
QImageCapture::LowQuality | 1 |
QImageCapture::NormalQuality | 2 |
QImageCapture::HighQuality | 3 |
QImageCapture::VeryHighQuality | 4 |
Documentation de la propriété
[read-only] error : Error
Renvoie l'état d'erreur actuel.
Fonctions d'accès :
| QImageCapture::Error | error() const |
Signal de notification :
| void | errorChanged() |
Voir aussi errorString().
[read-only] errorString : QString
Renvoie une chaîne décrivant l'état d'erreur actuel.
Fonctions d'accès :
| QString | errorString() const |
Signal de notification :
| void | errorChanged() |
Voir aussi error().
fileFormat : FileFormat
Cette propriété définit le format de l'image.
Fonctions d'accès :
| QImageCapture::FileFormat | fileFormat() const |
| void | setFileFormat(QImageCapture::FileFormat format) |
Signal de notification :
| void | fileFormatChanged() |
metaData : QMediaMetaData
Cette propriété contient les métadonnées qui seront intégrées à l'image.
Remarque : des champssupplémentaires , tels qu'un horodatage ou un lieu, peuvent être ajoutés par le serveur de la caméra.
Fonctions d'accès :
| QMediaMetaData | metaData() const |
| void | setMetaData(const QMediaMetaData &metaData) |
Signal de notification :
| void | metaDataChanged() |
quality : Quality
Cette propriété détermine la qualité d'encodage de l'image.
Fonctions d'accès :
| QImageCapture::Quality | quality() const |
| void | setQuality(QImageCapture::Quality quality) |
Signal de notification :
| void | qualityChanged() |
[read-only] readyForCapture : bool
Renvoie ` true ` si l'appareil photo est prêt à prendre une photo immédiatement. L'appel de la fonction ` capture()` alors que ` readyForCapture ` est ` false ` n'est pas autorisé et génère une erreur.
Fonctions d’accès :
| bool | isReadyForCapture() const |
Signal de notification :
| void | readyForCaptureChanged(bool ready) |
[read-only] supportedFormats : const QList<FileFormat>
Cette propriété contient une liste des formats de fichiers pris en charge.
Fonctions d'accès :
| QList<QImageCapture::FileFormat> | supportedFormats() |
Documentation sur les fonctions membres
[explicit] QImageCapture::QImageCapture(QObject *parent = nullptr)
Crée un objet de capture d'image, à partir d'un ` parent`, capable de capturer des images fixes individuelles produites par un appareil photo.
Pour capturer des images, vous devez connecter à la fois un objet de capture d'image et une QCamera à une session de capture.
[override virtual noexcept] QImageCapture::~QImageCapture()
Supprime les images associées à l'objet.
void QImageCapture::addMetaData(const QMediaMetaData &metaData)
Ajoute des informations supplémentaires ( metaData ) à toutes les métadonnées existantes, qui sont intégrées à l'image capturée.
[slot] int QImageCapture::capture()
Capturez l'image et rendez-la disponible sous la forme d'un objet ` QImage`. Cette opération est asynchrone dans la plupart des cas ; elle est suivie des signaux ` QImageCapture::imageExposed()`, ` QImageCapture::imageCaptured()` ou ` QImageCapture::error()`.
QImageCapture::capture renvoie le paramètre « capture Id », utilisé avec les signaux imageExposed(), imageCaptured() et imageSaved().
Voir également isReadyForCapture().
QMediaCaptureSession *QImageCapture::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::setImageCapture() pour connecter la capture d'image à une session.
[slot] int QImageCapture::captureToFile(const QString &file = QString())
Capturez l'image et enregistrez-la dans ` file`. Cette opération est asynchrone dans la plupart des cas ; elle est suivie des signaux ` QImageCapture::imageExposed()`, ` QImageCapture::imageCaptured()`, ` QImageCapture::imageSaved()` ou ` QImageCapture::error()`.
Si un paramètre « file » vide est transmis, le back-end de la caméra choisit l’emplacement et le schéma de nommage par défaut pour les photos sur le système ; si seul le nom de fichier est spécifié sans chemin d’accès complet, l’image sera enregistrée dans le répertoire par défaut, et le chemin d’accès complet sera indiqué via les signaux imageCaptured(), imageSaved() et ().
QCamera Enregistre tous les paramètres de capture, tels que les réglages d’exposition ou les paramètres de traitement d’image ; ainsi, les modifications apportées aux paramètres de l’appareil photo après l’appel de ` capture()` n’affectent pas les demandes de capture précédentes.
QImageCapture::capture Renvoie le paramètre d’identifiant de capture, utilisé avec les signaux imageExposed(), imageCaptured() et imageSaved().
Voir également isReadyForCapture().
[signal] void QImageCapture::errorOccurred(int id, QImageCapture::Error error, const QString &errorString)
Indique que la requête de capture id a échoué, avec une description disponible à l'adresse error et errorString.
[static] QString QImageCapture::fileFormatDescription(QImageCapture::FileFormat f)
Renvoie la description du format de fichier indiqué : f.
[static] QString QImageCapture::fileFormatName(QImageCapture::FileFormat f)
Renvoie le nom du format indiqué, f.
[signal] void QImageCapture::imageAvailable(int id, const QVideoFrame &frame)
Signal émis lorsque l'frame, dont la requête porte l'id, est disponible.
[signal] void QImageCapture::imageCaptured(int id, const QImage &preview)
Signal émis lorsque la trame contenant la requête id a été capturée, mais n'a pas encore été traitée ni enregistrée. La trame preview peut être affichée à l'utilisateur.
[signal] void QImageCapture::imageExposed(int id)
Signal émis lorsque la trame contenant la requête « id » a été transmise.
[signal] void QImageCapture::imageMetadataAvailable(int id, const QMediaMetaData &metaData)
Indique qu'une image identifiée par id contient metaData.
[signal] void QImageCapture::imageSaved(int id, const QString &fileName)
Signal émis lorsque la méthode `QImageCapture::CaptureToFile` est appelée et que l'image correspondant à la requête id a été enregistrée dans le fichier fileName.
bool QImageCapture::isAvailable() const
Renvoie « true » si le service de capture d'images est prêt à l'emploi.
[signal] void QImageCapture::readyForCaptureChanged(bool ready)
Indique que l'ready de l'état de capture d'une caméra a changé.
Remarque : signalde notification pour la propriété « readyForCapture ».
QSize QImageCapture::resolution() const
Renvoie la résolution de l'image encodée.
Voir aussi setResolution().
[signal] void QImageCapture::resolutionChanged()
Signale tout changement de résolution de l'image.
void QImageCapture::setFileFormat(QImageCapture::FileFormat format)
Définit l'format de l'image.
L'attribution d'une FileFormat non prise en charge n'a aucun effet.
Remarque : fonctionde définition pour la propriété ` fileFormat`.
Voir également ` fileFormat()` et ` supportedFormats`.
void QImageCapture::setMetaData(const QMediaMetaData &metaData)
Remplace toutes les métadonnées existantes, destinées à être intégrées à l'image capturée, par un ensemble de metaData.
Remarque : fonctionde définition de la propriété metaData.
Voir également metaData().
void QImageCapture::setQuality(QImageCapture::Quality quality)
Définit l'encodage de l'image quality.
Remarque : fonctionde définition de la propriété quality.
Voir aussi quality().
void QImageCapture::setResolution(const QSize &resolution)
Définit l'resolution de l'image encodée.
Un paramètre « QSize » vide indique que l'encodeur doit faire un choix optimal en fonction des informations disponibles dans la source de l'image et des limitations du codec.
Voir aussi resolution().
void QImageCapture::setResolution(int width, int height)
Définit les paramètres width et height de la résolution de l'image encodée.
Il s'agit d'une fonction surchargée.
[static] QList<QImageCapture::FileFormat> QImageCapture::supportedFormats()
Renvoie une liste des formats de fichiers pris en charge.
Remarque : fonction de lecture (getter ) pour la propriété supportedFormats.
Voir aussi FileFormat.
© 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.