Auf dieser Seite

QImageCapture Class

Die Klasse „QImageCapture“ dient zur Aufzeichnung von Medieninhalten. Mehr...

Header: #include <QImageCapture>
CMake: find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia
Erbt von: QObject

Öffentliche Typen

enum Error { NoError, NotReadyError, ResourceError, OutOfSpaceError, NotSupportedFeatureError, FormatError }
enum FileFormat { UnspecifiedFormat, JPEG, PNG, WebP, Tiff }
enum Quality { VeryLowQuality, LowQuality, NormalQuality, HighQuality, VeryHighQuality }

Eigenschaften

Öffentliche Funktionen

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)

Öffentliche Slots

int capture()
int captureToFile(const QString &file = QString())

Signale

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()

Statische öffentliche Mitglieder

QString fileFormatDescription(QImageCapture::FileFormat f)
QString fileFormatName(QImageCapture::FileFormat f)
QList<QImageCapture::FileFormat> supportedFormats()

Ausführliche Beschreibung

Die Klasse `QImageCapture` ist eine hochrangige Klasse zur Bildaufzeichnung. Sie ist nicht für die eigenständige Verwendung gedacht, sondern dient dem Zugriff auf die Medienaufzeichnungsfunktionen anderer Medienobjekte, wie beispielsweise ` 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();

Siehe auch „ QCamera “.

Dokumentation zu den Mitgliedstypen

enum QImageCapture::Error

KonstanteWertBeschreibung
QImageCapture::NoError0Keine Fehler.
QImageCapture::NotReadyError1Der Dienst ist noch nicht bereit für die Erfassung.
QImageCapture::ResourceError2Das Gerät ist nicht bereit oder nicht verfügbar.
QImageCapture::OutOfSpaceError3Kein Speicherplatz mehr auf dem Gerät.
QImageCapture::NotSupportedFeatureError4Das Gerät unterstützt keine Aufnahme von Standbildern.
QImageCapture::FormatError5Das aktuelle Format wird nicht unterstützt.

enum QImageCapture::FileFormat

Wählen Sie eines der folgenden Bildformate aus:

KonstantWertBeschreibung
QImageCapture::UnspecifiedFormat0Kein Format angegeben
QImageCapture::JPEG1.jpg oder das Format „ .jpeg “
QImageCapture::PNG2.png Format
QImageCapture::WebP3.webp Format
QImageCapture::Tiff4.tiff Format

enum QImageCapture::Quality

Zählt die Qualitätsstufen der Codierung auf.

KonstanteWert
QImageCapture::VeryLowQuality0
QImageCapture::LowQuality1
QImageCapture::NormalQuality2
QImageCapture::HighQuality3
QImageCapture::VeryHighQuality4

Eigenschaftsdokumentation

[read-only] error : Error

Gibt den aktuellen Fehlerstatus zurück.

Zugriffsfunktionen:

QImageCapture::Error error() const

Benachrichtigungssignal:

void errorChanged()

Siehe auch „ errorString()“.

[read-only] errorString : QString

Gibt eine Zeichenkette zurück, die den aktuellen Fehlerstatus beschreibt.

Zugriffsfunktionen:

QString errorString() const

Benachrichtigungssignal:

void errorChanged()

Siehe auch „ error()“.

fileFormat : FileFormat

Diese Eigenschaft enthält das Bildformat.

Zugriffsfunktionen:

QImageCapture::FileFormat fileFormat() const
void setFileFormat(QImageCapture::FileFormat format)

Benachrichtigungssignal:

void fileFormatChanged()

metaData : QMediaMetaData

Diese Eigenschaft enthält die Metadaten, die in das Bild eingebettet werden.

Hinweis: Zusätzliche Felder wie ein Zeitstempel oder ein Ort können vom Kamera-Backend hinzugefügt werden.

Zugriffsfunktionen:

QMediaMetaData metaData() const
void setMetaData(const QMediaMetaData &metaData)

Benachrichtigungssignal:

void metaDataChanged()

quality : Quality

Diese Eigenschaft gibt die Bildkodierungsqualität an.

Zugriffsfunktionen:

QImageCapture::Quality quality() const
void setQuality(QImageCapture::Quality quality)

Benachrichtigungssignal:

void qualityChanged()

[read-only] readyForCapture : bool

Gibt „ true “ zurück, wenn die Kamera bereit ist, sofort ein Bild aufzunehmen. Der Aufruf von „ capture()“, während „ readyForCapture “ den Wert „ false “ hat, ist nicht zulässig und führt zu einem Fehler.

Zugriffsfunktionen:

bool isReadyForCapture() const

Notifier-Signal:

void readyForCaptureChanged(bool ready)

[read-only] supportedFormats : const QList<FileFormat>

Diese Eigenschaft enthält eine Liste der unterstützten Dateiformate.

Zugriffsfunktionen:

QList<QImageCapture::FileFormat> supportedFormats()

Dokumentation zu den Member-Funktionen

[explicit] QImageCapture::QImageCapture(QObject *parent = nullptr)

Erstellt aus einem „ parent “ ein Bildaufnahmeobjekt, mit dem einzelne, von einer Kamera erzeugte Standbilder aufgenommen werden können.

Um Bilder aufzunehmen, müssen Sie sowohl ein Bildaufnahmeobjekt als auch ein „ QCamera “ mit einer Aufnahmesitzung verbinden.

[override virtual noexcept] QImageCapture::~QImageCapture()

Löscht die Bilder, die das Objekt erfassen.

void QImageCapture::addMetaData(const QMediaMetaData &metaData)

Fügt den vorhandenen Metadaten, die in das aufgenommene Bild eingebettet sind, zusätzliche „ metaData “ hinzu.

[slot] int QImageCapture::capture()

Das Bild wird erfasst und als „ QImage “ bereitgestellt. Dieser Vorgang läuft in den meisten Fällen asynchron ab, gefolgt von den Signalen „ QImageCapture::imageExposed()“, „ QImageCapture::imageCaptured()“ oder „ QImageCapture::error()“.

QImageCapture::capture gibt den Parameter „captureId“ zurück, der bei den Signalen „ imageExposed()“, „ imageCaptured()“ und „ imageSaved()“ verwendet wird.

Siehe auch „ isReadyForCapture()“.

QMediaCaptureSession *QImageCapture::captureSession() const

Gibt die Aufnahmesitzung zurück, mit der diese Kamera verbunden ist, oder einen `nullptr`, wenn die Kamera nicht mit einer Aufnahmesitzung verbunden ist.

Verwenden Sie ` QMediaCaptureSession::setImageCapture()`, um die Bildaufnahme mit einer Sitzung zu verbinden.

[slot] int QImageCapture::captureToFile(const QString &file = QString())

Das Bild wird aufgenommen und unter file gespeichert. Dieser Vorgang läuft in den meisten Fällen asynchron ab, woraufhin die Signale QImageCapture::imageExposed(), QImageCapture::imageCaptured(), QImageCapture::imageSaved() oder QImageCapture::error() ausgelöst werden.

Wird ein leeres ` file ` übergeben, wählt das Kamera-Backend den Standard-Speicherort und das Standard-Namensschema für Fotos auf dem System; wird nur ein Dateiname ohne vollständigen Pfad angegeben, wird das Bild im Standardverzeichnis gespeichert, wobei der vollständige Pfad über die Signale ` imageCaptured()`, ` imageSaved()` und ` ()` gemeldet wird.

QCamera speichert alle Aufnahmeparameter wie Belichtungseinstellungen oder Bildverarbeitungsparameter, sodass Änderungen an den Kameraparametern nach dem Aufruf von ` capture()` keine Auswirkungen auf vorherige Aufnahmeanfragen haben.

QImageCapture::capture Gibt den Aufnahm-ID-Parameter zurück, der bei den Signalen „ imageExposed()“, „ imageCaptured()“ und „ imageSaved()“ verwendet wird.

Siehe auch ` isReadyForCapture()`.

[signal] void QImageCapture::errorOccurred(int id, QImageCapture::Error error, const QString &errorString)

Zeigt an, dass die Erfassungsanforderung id mit dem Fehler „ error “ und der Fehlerbeschreibung „ errorString “ fehlgeschlagen ist.

[static] QString QImageCapture::fileFormatDescription(QImageCapture::FileFormat f)

Gibt die Beschreibung des angegebenen Dateiformats zurück: f.

[static] QString QImageCapture::fileFormatName(QImageCapture::FileFormat f)

Gibt den Namen des angegebenen Formats zurück: „ f “.

[signal] void QImageCapture::imageAvailable(int id, const QVideoFrame &frame)

Signal, das ausgegeben wird, wenn der frame mit der Anfrage id verfügbar ist.

[signal] void QImageCapture::imageCaptured(int id, const QImage &preview)

Dieses Signal wird ausgegeben, wenn der Frame mit der Anforderung „ id “ erfasst, aber noch nicht verarbeitet und gespeichert wurde. Der Frame „ preview “ kann dem Benutzer angezeigt werden.

[signal] void QImageCapture::imageExposed(int id)

Signal, das ausgesendet wird, wenn der Rahmen mit der Anforderung „ id “ übertragen wurde.

[signal] void QImageCapture::imageMetadataAvailable(int id, const QMediaMetaData &metaData)

Zeigt an, dass ein unter id identifiziertes Bild metaData enthält.

[signal] void QImageCapture::imageSaved(int id, const QString &fileName)

Dieses Signal wird ausgelöst, wenn QImageCapture::CaptureToFile gesetzt ist und das Bild mit der Anforderungs- id unter fileName gespeichert wurde.

bool QImageCapture::isAvailable() const

Gibt „true“ zurück, wenn der Bildaufzeichnungsdienst einsatzbereit ist.

[signal] void QImageCapture::readyForCaptureChanged(bool ready)

Signalisiert, dass sich der ready -Wert einer Kamera für den Aufnahmestatus geändert hat.

Hinweis: Benachrichtigungssignal für die Eigenschaft „ readyForCapture “.

QSize QImageCapture::resolution() const

Gibt die Auflösung des kodierten Bildes zurück.

Siehe auch „ setResolution()“.

[signal] void QImageCapture::resolutionChanged()

Gibt ein Signal aus, wenn sich die Bildauflösung ändert.

void QImageCapture::setFileFormat(QImageCapture::FileFormat format)

Legt die Bild format fest.

Die Zuweisung eines nicht unterstützten Bild FileFormat s hat keine Auswirkung.

Hinweis: Setter -Funktion für die Eigenschaft „ fileFormat “.

Siehe auch „ fileFormat()“ und „ supportedFormats “.

void QImageCapture::setMetaData(const QMediaMetaData &metaData)

Ersetzt alle vorhandenen Metadaten, die in das aufgenommene Bild eingebettet werden sollen, durch einen Satz von metaData.

Hinweis: Setter -Funktion für die Eigenschaft ` metaData`.

Siehe auch ` metaData()` .

void QImageCapture::setQuality(QImageCapture::Quality quality)

Legt die Bildkodierung fest quality.

Hinweis: Setter -Funktion für die Eigenschaft ` quality`.

Siehe auch ` quality()`.

void QImageCapture::setResolution(const QSize &resolution)

Legt den Wert „ resolution “ des kodierten Bildes fest.

Ein leerer ` QSize `-Parameter bedeutet, dass der Encoder eine optimale Wahl treffen soll, basierend auf den aus der Bildquelle verfügbaren Informationen und den Einschränkungen des Codecs.

Siehe auch resolution().

void QImageCapture::setResolution(int width, int height)

Legt die Werte „ width “ und „ height “ für die Auflösung des kodierten Bildes fest.

Dies ist eine überladene Funktion.

[static] QList<QImageCapture::FileFormat> QImageCapture::supportedFormats()

Gibt eine Liste der unterstützten Dateiformate zurück.

Hinweis: Getter -Funktion für die Eigenschaft „supportedFormats“.

Siehe auch „ 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.