QImageCapture Class

Die Klasse QImageCapture wird für die Aufnahme von Medieninhalten verwendet. Mehr...

Kopfzeile: #include <QImageCapture>
CMake: find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia
Vererbungen: 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()

Detaillierte Beschreibung

Die Klasse QImageCapture ist eine hochrangige Klasse zur Aufnahme von Bildern. Sie ist nicht für die alleinige Verwendung gedacht, sondern für den Zugriff auf die Medienaufzeichnungsfunktionen anderer Medienobjekte, wie 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();

Siehe auch QCamera.

Dokumentation der 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 Platz mehr auf dem Gerät.
QImageCapture::NotSupportedFeatureError4Das Gerät unterstützt die Erfassung von Standbildern nicht.
QImageCapture::FormatError5Das aktuelle Format wird nicht unterstützt.

enum QImageCapture::FileFormat

Wählen Sie eines der folgenden Bildformate:

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

enum QImageCapture::Quality

Zählt die Qualitätskodierungsstufen auf.

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

Eigenschaft Dokumentation

[read-only] error : const Error

Gibt den aktuellen Fehlerstatus zurück.

Zugriffsfunktionen:

QImageCapture::Error error() const

Benachrichtigungssignal:

void errorChanged()

Siehe auch errorString().

[read-only] errorString : const QString

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

Zugriffsfunktionen:

QString errorString() const

Benachrichtigungssignal:

void errorChanged()

Siehe auch error().

[read-only] fileFormat : const FileFormat

Diese Eigenschaft enthält das Bildformat.

Zugriffsfunktionen:

QImageCapture::FileFormat fileFormat() const

Melder-Signal:

void fileFormatChanged()

metaData : QMediaMetaData

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

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

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void metaDataChanged()

[read-only] quality : const Quality

Diese Eigenschaft gibt die Qualität der Bildkodierung an.

Zugriffsfunktionen:

QImageCapture::Quality quality() const

Anmelder-Signal:

void qualityChanged()

[read-only] readyForCapture : const bool

Hält true, wenn die Kamera bereit ist, sofort ein Bild aufzunehmen. Der Aufruf von capture(), während readyForCapture false ist, ist nicht zulässig und führt zu einem Fehler.

Zugriffsfunktionen:

bool isReadyForCapture() const

Benachrichtigungssignal:

void readyForCaptureChanged(bool ready)

Member Function Dokumentation

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

Konstruiert ein Image-Capture-Objekt aus einem parent, das einzelne von einer Kamera erzeugte Standbilder erfassen kann.

Sie müssen sowohl ein Image-Capture-Objekt als auch eine QCamera mit einer Aufnahmesitzung verbinden, um Bilder aufzunehmen.

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

Zerstört das Bildaufnahmeobjekt.

void QImageCapture::addMetaData(const QMediaMetaData &metaData)

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

[slot] int QImageCapture::capture()

Erfasst das Bild und stellt es als QImage zur Verfügung. Dieser Vorgang erfolgt in den meisten Fällen asynchron, gefolgt von den Signalen QImageCapture::imageExposed(), QImageCapture::imageCaptured() oder QImageCapture::error().

QImageCapture::capture gibt den Parameter capture Id zurück, der mit 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 eine 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())

Erfassen Sie das Bild und speichern Sie es unter file. Dieser Vorgang ist in den meisten Fällen asynchron, gefolgt von den Signalen QImageCapture::imageExposed(), QImageCapture::imageCaptured(), QImageCapture::imageSaved() oder QImageCapture::error().

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 ein vollständiger Pfad mit den Signalen imageCaptured() und imageSaved() gemeldet wird.

QCamera speichert alle Aufnahmeparameter wie Belichtungseinstellungen oder Bildverarbeitungsparameter, so dass Änderungen an den Kameraparametern nach dem Aufruf von capture() keine Auswirkungen auf frühere Aufnahmeanforderungen haben.

QImageCapture::capture gibt den Parameter capture Id zurück, der mit den Signalen imageExposed(), imageCaptured() und imageSaved() verwendet wird.

Siehe auch isReadyForCapture().

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

Signalisiert, dass die Erfassungsanfrage id fehlgeschlagen ist, mit einer error und errorString Beschreibung.

[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 die frame mit der Anfrage id verfügbar ist.

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

Signal, das ausgegeben wird, wenn der Frame mit der Anfrage id erfasst, aber noch nicht verarbeitet und gespeichert wurde. Frame preview kann dem Benutzer angezeigt werden.

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

Signal, das ausgegeben wird, wenn der Rahmen mit der Anfrage id ausgesetzt wurde.

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

Signalisiert, dass ein mit id identifiziertes Bild metaData hat.

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

Signal, das ausgegeben wird, wenn QImageCapture::CaptureToFile gesetzt ist und das Bild mit der Anfrage id in fileName gespeichert wurde.

bool QImageCapture::isAvailable() const

Gibt true zurück, wenn der Bilderfassungsdienst einsatzbereit ist.

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

Signalisiert, dass sich der Zustand der Kamera ready für die Aufnahme geändert hat.

Hinweis: Meldesignal 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()

Signalisiert, wenn sich die Bildauflösung ändert.

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

Legt das Bild format fest.

Siehe auch fileFormat().

void QImageCapture::setMetaData(const QMediaMetaData &metaData)

Ersetzt alle vorhandenen Metadaten, die in das erfasste 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 quality fest.

Siehe auch quality().

void QImageCapture::setResolution(const QSize &resolution)

Legt die resolution des kodierten Bildes fest.

Ein leeres QSize zeigt an, dass der Encoder eine optimale Auswahl treffen sollte, die auf den verfügbaren Daten der Bildquelle und den Einschränkungen des Codecs basiert.

Siehe auch resolution().

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

Legt die width und height der 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.

Siehe auch FileFormat.

© 2025 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.