Sur cette page

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

ConstanteValeurDescription de l'erreur
QImageCapture::NoError0Pas d'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::OutOfSpaceError3Il n'y a plus d'espace disponible sur le périphérique.
QImageCapture::NotSupportedFeatureError4Le périphérique 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 de l'image
QImageCapture::UnspecifiedFormat0Aucun format spécifié
QImageCapture::JPEG1.jpg ou .jpeg format
QImageCapture::PNG2.png format
QImageCapture::WebP3.webp format
QImageCapture::Tiff4.tiff format

enum QImageCapture::Quality

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

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

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.