Sur cette page

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

ConstanteValeurDescription
QImageCapture::NoError0Aucune erreur.
QImageCapture::NotReadyError1Le service n'est pas encore prêt pour la capture.
QImageCapture::ResourceError2L'appareil n'est pas prêt ou n'est pas disponible.
QImageCapture::OutOfSpaceError3Plus d'espace disponible sur l'appareil.
QImageCapture::NotSupportedFeatureError4L'appareil ne prend pas en charge la capture d'images fixes.
QImageCapture::FormatError5Le format actuel n'est pas pris en charge.

enum QImageCapture::FileFormat

Choisissez l'un des formats d'image suivants :

ConstanteValeurDescription
QImageCapture::UnspecifiedFormat0Aucun format spécifié
QImageCapture::JPEG1.jpg ou format « .jpeg »
QImageCapture::PNG2.png format
QImageCapture::WebP3.webp format
QImageCapture::Tiff4.tiff format

enum QImageCapture::Quality

Énumère les niveaux de qualité d'encodage.

ConstanteValeur
QImageCapture::VeryLowQuality0
QImageCapture::LowQuality1
QImageCapture::NormalQuality2
QImageCapture::HighQuality3
QImageCapture::VeryHighQuality4

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.