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
Konstante | Wert | Beschreibung |
---|---|---|
QImageCapture::NoError | 0 | Keine Fehler. |
QImageCapture::NotReadyError | 1 | Der Dienst ist noch nicht bereit für die Erfassung. |
QImageCapture::ResourceError | 2 | Das Gerät ist nicht bereit oder nicht verfügbar. |
QImageCapture::OutOfSpaceError | 3 | Kein Platz mehr auf dem Gerät. |
QImageCapture::NotSupportedFeatureError | 4 | Das Gerät unterstützt die Erfassung von Standbildern nicht. |
QImageCapture::FormatError | 5 | Das aktuelle Format wird nicht unterstützt. |
enum QImageCapture::FileFormat
Wählen Sie eines der folgenden Bildformate:
Konstant | Wert | Beschreibung |
---|---|---|
QImageCapture::UnspecifiedFormat | 0 | Kein Format angegeben |
QImageCapture::JPEG | 1 | .jpg oder .jpeg Format |
QImageCapture::PNG | 2 | .png Format |
QImageCapture::WebP | 3 | .webp Format |
QImageCapture::Tiff | 4 | .tiff Format |
enum QImageCapture::Quality
Zählt die Qualitätskodierungsstufen auf.
Konstante | Wert |
---|---|
QImageCapture::VeryLowQuality | 0 |
QImageCapture::LowQuality | 1 |
QImageCapture::NormalQuality | 2 |
QImageCapture::HighQuality | 3 |
QImageCapture::VeryHighQuality | 4 |
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.