QImageCapture Class
La classe QImageCapture est utilisée pour l'enregistrement de contenu multimédia. Plus d'informations...
| En-tête : | #include <QImageCapture> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Multimedia)target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
| qmake : | QT += multimedia |
| Héritages : | 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 d'enregistrement d'images de haut niveau. Elle n'est pas destinée à être utilisée seule, mais à accéder aux fonctions d'enregistrement d'autres objets médias, comme QCamera.
QMediaCaptureSession captureSession; camera = new QCamera; captureSession.setCamera(camera); viewfinder = new QVideoWidget(); viewfinder->show(); captureSession.setVideoOutput(viewfinder); imageCapture = new QImageCapture(camera); captureSession.setImageCapture(imageCapture); camera->start(); //on shutter button pressed imageCapture->capture();
Voir également QCamera.
Documentation des types de membres
enum QImageCapture::Error
| Constante | Valeur | Description de l'erreur |
|---|---|---|
QImageCapture::NoError | 0 | Pas d'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 | Il n'y a plus d'espace disponible sur le périphérique. |
QImageCapture::NotSupportedFeatureError | 4 | Le périphérique 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 de l'image |
|---|---|---|
QImageCapture::UnspecifiedFormat | 0 | Aucun format spécifié |
QImageCapture::JPEG | 1 | .jpg ou .jpeg format |
QImageCapture::PNG | 2 | .png format |
QImageCapture::WebP | 3 | .webp format |
QImageCapture::Tiff | 4 | .tiff format |
enum QImageCapture::Quality
Énumère les niveaux d'encodage de la qualité.
| Constante | Valeur |
|---|---|
QImageCapture::VeryLowQuality | 0 |
QImageCapture::LowQuality | 1 |
QImageCapture::NormalQuality | 2 |
QImageCapture::HighQuality | 3 |
QImageCapture::VeryHighQuality | 4 |
Propriété Documentation
[read-only] error : Error
Renvoie l'état d'erreur actuel.
Fonctions d'accès :
| QImageCapture::Error | error() const |
Signal du notificateur :
| void | errorChanged() |
Voir aussi errorString().
[read-only] errorString : QString
Renvoie une chaîne de caractères décrivant l'état actuel de l'erreur.
Fonctions d'accès :
| QString | errorString() const |
Signal du notificateur :
| void | errorChanged() |
Voir aussi error().
fileFormat : FileFormat
Cette propriété contient 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 champs supplémentaires tels que l'horodatage ou la localisation peuvent être ajoutés par le back-end 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é contient la qualité de l'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
Maintient true si la caméra est prête à capturer une image immédiatement. L'appel à capture() alors que readyForCapture est false n'est pas autorisé et entraîne 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 des fonctions membres
[explicit] QImageCapture::QImageCapture(QObject *parent = nullptr)
Construit un objet de capture d'image, à partir d'un parent, qui peut capturer des images fixes individuelles produites par une caméra.
Pour capturer des images, vous devez connecter à la fois un objet de capture d'image et un site QCamera à une session de capture.
[override virtual noexcept] QImageCapture::~QImageCapture()
Détruit l'objet de capture d'images.
void QImageCapture::addMetaData(const QMediaMetaData &metaData)
Ajoute metaData à toutes les métadonnées existantes, qui sont intégrées dans l'image capturée.
[slot] int QImageCapture::capture()
Capture l'image et la rend disponible en tant que QImage. Cette opération est asynchrone dans la plupart des cas, suivie par les 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 QMediaCaptureSession::setImageCapture() pour connecter la capture d'image à une session.
[slot] int QImageCapture::captureToFile(const QString &file = QString())
Capturez l'image et enregistrez-la sur file. Cette opération est asynchrone dans la plupart des cas, suivie par les signaux QImageCapture::imageExposed(), QImageCapture::imageCaptured(), QImageCapture::imageSaved() ou QImageCapture::error().
Si un file vide est transmis, l'arrière-plan de la caméra choisit l'emplacement et le schéma de dénomination par défaut pour les photos sur le système, si seul le nom du fichier sans chemin complet est spécifié, l'image sera enregistrée dans le répertoire par défaut, avec un chemin complet signalé par les signaux imageCaptured() et imageSaved().
QCamera enregistre tous les paramètres de capture tels que les paramètres d'exposition ou les paramètres de traitement d'image, de sorte que 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 Id de la capture, utilisé avec les signaux imageExposed(), imageCaptured() et imageSaved().
Voir également isReadyForCapture().
[signal] void QImageCapture::errorOccurred(int id, QImageCapture::Error error, const QString &errorString)
Signale que la demande de capture id a échoué avec une description error et errorString.
[static] QString QImageCapture::fileFormatDescription(QImageCapture::FileFormat f)
Renvoie la description du format de fichier donné, f.
[static] QString QImageCapture::fileFormatName(QImageCapture::FileFormat f)
Renvoie le nom du format donné, f.
[signal] void QImageCapture::imageAvailable(int id, const QVideoFrame &frame)
Signal émis lorsque le site frame avec la requête id est disponible.
[signal] void QImageCapture::imageCaptured(int id, const QImage &preview)
Signal émis lorsque l'image avec la requête id a été capturée, mais n'a pas encore été traitée et sauvegardée. L'image preview peut être affichée à l'utilisateur.
[signal] void QImageCapture::imageExposed(int id)
Signal émis lorsque le cadre contenant la demande id a été exposé.
[signal] void QImageCapture::imageMetadataAvailable(int id, const QMediaMetaData &metaData)
Signale qu'une image identifiée par id est metaData.
[signal] void QImageCapture::imageSaved(int id, const QString &fileName)
Signal émis lorsque QImageCapture::CaptureToFile est activé et que l'image avec la requête id a été enregistrée sur fileName.
bool QImageCapture::isAvailable() const
Retourne true si le service de capture d'images est prêt à être utilisé.
[signal] void QImageCapture::readyForCaptureChanged(bool ready)
Signale que l'état de la caméra ready for capture a changé.
Remarque : signal de 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 un changement de résolution de l'image.
void QImageCapture::setFileFormat(QImageCapture::FileFormat format)
Définit l'image format.
L'attribution d'une adresse FileFormat non prise en charge n'a aucun effet.
Note : Fonction de définition de la propriété fileFormat.
Voir également fileFormat() et supportedFormats.
void QImageCapture::setMetaData(const QMediaMetaData &metaData)
Remplace toutes les métadonnées existantes, à intégrer dans l'image capturée, par un ensemble de metaData.
Remarque : fonction de définition de la propriété metaData.
Voir également metaData().
void QImageCapture::setQuality(QImageCapture::Quality quality)
Définit le codage de l'image quality.
Remarque : fonction de définition de la propriété quality.
Voir aussi quality().
void QImageCapture::setResolution(const QSize &resolution)
Définit le resolution de l'image encodée.
Un QSize vide indique que l'encodeur doit faire un choix optimal en fonction de ce qui est disponible dans la source de l'image et des limites du codec.
Voir également resolution().
void QImageCapture::setResolution(int width, int height)
Définit les valeurs 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 Getter pour la propriété supportedFormats.
Voir également 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.