QCamera Class

Die Klasse QCamera bietet eine Schnittstelle für Systemkamera-Geräte. Mehr...

Kopfzeile: #include <QCamera>
CMake: find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia
In QML: Camera
Vererbt: QObject

Öffentliche Typen

enum Error { NoError, CameraError }
enum ExposureMode { ExposureAuto, ExposureManual, ExposurePortrait, ExposureNight, ExposureSports, …, ExposureBarcode }
enum class Feature { ColorTemperature, ExposureCompensation, IsoSensitivity, ManualExposureTime, CustomFocusPoint, FocusDistance }
flags Features
enum FlashMode { FlashOff, FlashOn, FlashAuto }
enum FocusMode { FocusModeAuto, FocusModeAutoNear, FocusModeAutoFar, FocusModeHyperfocal, FocusModeInfinity, FocusModeManual }
enum TorchMode { TorchOff, TorchOn, TorchAuto }
enum WhiteBalanceMode { WhiteBalanceAuto, WhiteBalanceManual, WhiteBalanceSunlight, WhiteBalanceCloudy, WhiteBalanceShade, …, WhiteBalanceSunset }

Eigenschaften

Öffentliche Funktionen

QCamera(QObject *parent = nullptr)
QCamera(QCameraDevice::Position position, QObject *parent = nullptr)
QCamera(const QCameraDevice &cameraDevice, QObject *parent = nullptr)
virtual ~QCamera() override
QCameraDevice cameraDevice() const
QCameraFormat cameraFormat() const
QMediaCaptureSession *captureSession() const
int colorTemperature() const
QPointF customFocusPoint() const
QCamera::Error error() const
QString errorString() const
float exposureCompensation() const
QCamera::ExposureMode exposureMode() const
float exposureTime() const
QCamera::FlashMode flashMode() const
float focusDistance() const
QCamera::FocusMode focusMode() const
QPointF focusPoint() const
bool isActive() const
bool isAvailable() const
bool isExposureModeSupported(QCamera::ExposureMode mode) const
bool isFlashModeSupported(QCamera::FlashMode mode) const
bool isFlashReady() const
bool isFocusModeSupported(QCamera::FocusMode mode) const
bool isTorchModeSupported(QCamera::TorchMode mode) const
bool isWhiteBalanceModeSupported(QCamera::WhiteBalanceMode mode) const
int isoSensitivity() const
float manualExposureTime() const
int manualIsoSensitivity() const
float maximumExposureTime() const
int maximumIsoSensitivity() const
float maximumZoomFactor() const
float minimumExposureTime() const
int minimumIsoSensitivity() const
float minimumZoomFactor() const
void setCameraDevice(const QCameraDevice &cameraDevice)
void setCameraFormat(const QCameraFormat &format)
void setCustomFocusPoint(const QPointF &point)
void setFocusDistance(float d)
void setFocusMode(QCamera::FocusMode mode)
void setZoomFactor(float factor)
QCamera::Features supportedFeatures() const
QCamera::TorchMode torchMode() const
QCamera::WhiteBalanceMode whiteBalanceMode() const
float zoomFactor() const

Öffentliche Slots

void setActive(bool active)
void setAutoExposureTime()
void setAutoIsoSensitivity()
void setColorTemperature(int colorTemperature)
void setExposureCompensation(float ev)
void setExposureMode(QCamera::ExposureMode mode)
void setFlashMode(QCamera::FlashMode mode)
void setManualExposureTime(float seconds)
void setManualIsoSensitivity(int iso)
void setTorchMode(QCamera::TorchMode mode)
void setWhiteBalanceMode(QCamera::WhiteBalanceMode mode)
void start()
void stop()
void zoomTo(float factor, float rate)

Signale

void activeChanged(bool)
void cameraDeviceChanged()
void cameraFormatChanged()
void colorTemperatureChanged() const
void customFocusPointChanged()
void errorChanged()
void errorOccurred(QCamera::Error error, const QString &errorString)
void exposureCompensationChanged(float value)
void exposureModeChanged()
void exposureTimeChanged(float speed)
void flashModeChanged()
void flashReady(bool ready)
void focusDistanceChanged(float)
void focusModeChanged()
void focusPointChanged()
void isoSensitivityChanged(int value)
void manualExposureTimeChanged(float speed)
void manualIsoSensitivityChanged(int)
void maximumZoomFactorChanged(float)
void minimumZoomFactorChanged(float)
void supportedFeaturesChanged()
void torchModeChanged()
void whiteBalanceModeChanged() const
void zoomFactorChanged(float)

Detaillierte Beschreibung

QCamera kann innerhalb von QMediaCaptureSession zur Videoaufzeichnung und Bildaufnahme verwendet werden.

Sie können QCameraDevice verwenden, um die verfügbaren Kameras aufzulisten und die zu verwendende Kamera auszuwählen.

const QList<QCameraDevice> cameras = QMediaDevices::videoInputs();
for (const QCameraDevice &cameraDevice : cameras) {
    if (cameraDevice.description() == "mycamera")
        camera = new QCamera(cameraDevice);
}

Auf Hardware, die dies unterstützt, können Sie mit QCamera den Fokus und den Zoom einstellen. Dazu gehören auch Funktionen wie ein "Makro"-Modus für Arbeiten im Nahbereich (z. B. das Lesen von Barcodes oder das Erkennen von Buchstaben) oder "Touch to focus" - die Anzeige eines interessanten Bildbereichs, auf den die Hardware versuchen soll, scharfzustellen.

camera->setFocusPointMode(QCamera::FocusModeManual);
camera->setCustomFocusPoint(QPointF(0.25f, 0.75f)); // A point near the bottom left, 25% away from the corner, near that shiny vase

Die Methoden minimumZoomFactor() und maximumZoomFactor() stellen den Bereich der unterstützten Zoomfaktoren bereit. Mit der Methode zoomTo() kann der Zoomfaktor geändert werden.

camera->setZoomFactor(3.0);

Nach der Erfassung der Rohdaten für ein Kamerabild führen die Kamerahardware und -software verschiedene Bildverarbeitungsaufgaben durch, um das endgültige Bild zu erzeugen. Dazu gehören der Farbausgleich für das Umgebungslicht, die Rauschunterdrückung und einige andere Anpassungen des Bildes.

Sie können viele dieser Verarbeitungsschritte über die Kameraeigenschaften steuern. So können Sie beispielsweise den Weißabgleich (oder die Farbtemperatur) für die Bildverarbeitung festlegen:

camera->setWhiteBalanceMode(QCamera::WhiteBalanceFluorescent);

Weitere Informationen zur Bildverarbeitung von Kamerabildern finden Sie unter Bildverarbeitung der Kamera.

Weitere Informationen finden Sie in der Kameraübersicht.

Member-Typ Dokumentation

enum QCamera::Error

Diese Aufzählung enthält den letzten Fehlercode.

KonstanteWertBeschreibung
QCamera::NoError0Es sind keine Fehler aufgetreten.
QCamera::CameraError1Es ist ein Fehler aufgetreten.

enum QCamera::ExposureMode

KonstanteWertBeschreibung
QCamera::ExposureAuto0Automatischer Modus.
QCamera::ExposureManual1Manueller Modus.
QCamera::ExposurePortrait2Porträt-Belichtungsmodus.
QCamera::ExposureNight3Nachtmodus.
QCamera::ExposureSports4Belichtungsmodus Flecken.
QCamera::ExposureSnow5Belichtungsmodus Schnee.
QCamera::ExposureBeach6Belichtungsmodus Strand.
QCamera::ExposureAction7Action-Modus. Seit 5.5
QCamera::ExposureLandscape8Querformat. Seit Version 5.5
QCamera::ExposureNightPortrait9Nachtporträt-Modus. Seit 5.5
QCamera::ExposureTheatre10Theater-Modus. Seit Version 5.5
QCamera::ExposureSunset11Sonnenuntergangsmodus. Seit Version 5.5
QCamera::ExposureSteadyPhoto12Gleichmäßiger Fotomodus. Seit Version 5.5
QCamera::ExposureFireworks13Feuerwerk-Modus. Seit Version 5.5
QCamera::ExposureParty14Party-Modus. Seit Version 5.5
QCamera::ExposureCandlelight15Kerzenlicht-Modus. Seit Version 5.5
QCamera::ExposureBarcode16Barcode-Modus. Seit 5.5

enum class QCamera::Feature
flags QCamera::Features

Beschreibt einen Satz von Features, die von der Kamera unterstützt werden. Der zurückgegebene Wert kann eine Kombination sein aus:

KonstanteWertBeschreibung
QCamera::Feature::ColorTemperature0x1Die Kamera unterstützt die Einstellung eines benutzerdefinierten colorTemperature.
QCamera::Feature::ExposureCompensation0x2Die Kamera unterstützt das Einstellen eines benutzerdefinierten exposureCompensation.
QCamera::Feature::IsoSensitivity0x4Die Kamera unterstützt das Einstellen eines benutzerdefinierten isoSensitivity.
QCamera::Feature::ManualExposureTime0x8Die Kamera unterstützt das Einstellen einer manual exposure Time.
QCamera::Feature::CustomFocusPoint0x10Die Kamera unterstützt das Einstellen einer custom focus point.
QCamera::Feature::FocusDistance0x20Die Kamera unterstützt das Einstellen der Eigenschaft focusDistance.

Der Typ Features ist ein Typedef für QFlags<Feature>. Er speichert eine ODER-Kombination von Feature-Werten.

enum QCamera::FlashMode

KonstanteWertBeschreibung
QCamera::FlashOff0Blitzlicht ist ausgeschaltet.
QCamera::FlashOn1Blitz ist eingeschaltet.
QCamera::FlashAuto2Automatischer Blitz.

enum QCamera::FocusMode

KonstanteWertBeschreibung
QCamera::FocusModeAuto0Kontinuierlicher Autofokus-Modus.
QCamera::FocusModeAutoNear1Kontinuierlicher Autofokusmodus auf nahe Objekte.
QCamera::FocusModeAutoFar2Kontinuierlicher Autofokusmodus bei weit entfernten Objekten.
QCamera::FocusModeHyperfocal3Fokussierung auf hyperfokale Entfernung, wobei die maximale Schärfentiefe erreicht wird. Alle Objekte in Entfernungen von der Hälfte dieser Entfernung bis unendlich sind akzeptabel scharf.
QCamera::FocusModeInfinity4Strenge Fokussierung auf unendlich.
QCamera::FocusModeManual5Die Fokusentfernung des Kameraobjektivs wird gemäß focusDistance eingestellt.

enum QCamera::TorchMode

KonstanteWertBeschreibung
QCamera::TorchOff0Fackel ist aus.
QCamera::TorchOn1Brenner ist eingeschaltet.
QCamera::TorchAuto2Automatische Fackel.

enum QCamera::WhiteBalanceMode

KonstanteWertBeschreibung
QCamera::WhiteBalanceAuto0Automatischer Weißabgleich.
QCamera::WhiteBalanceManual1Manueller Weißabgleich. In diesem Modus sollte der Weißabgleich mit setColorTemperature() eingestellt werden.
QCamera::WhiteBalanceSunlight2Weißabgleichmodus Sonnenlicht.
QCamera::WhiteBalanceCloudy3Bewölkter Weißabgleich.
QCamera::WhiteBalanceShade4Schatten-Weißabgleich.
QCamera::WhiteBalanceTungsten5Wolfram (Glühlampe) Weißabgleich.
QCamera::WhiteBalanceFluorescent6Fluoreszierender Weißabgleich.
QCamera::WhiteBalanceFlash7Blitzlicht-Weißabgleich.
QCamera::WhiteBalanceSunset8Weißabgleich bei Sonnenuntergang.

Dokumentation der Eigenschaften

active : bool

Zeigt an, ob die Kamera gerade aktiv ist.

Zugriffsfunktionen:

bool isActive() const
void setActive(bool active)

Benachrichtigungssignal:

void activeChanged(bool)

cameraDevice : QCameraDevice

Gibt das QCameraDevice Objekt zurück, das mit dieser Kamera verbunden ist.

Zugriffsfunktionen:

QCameraDevice cameraDevice() const
void setCameraDevice(const QCameraDevice &cameraDevice)

Benachrichtigungssignal:

void cameraDeviceChanged()

cameraFormat : QCameraFormat

Gibt das derzeit von der Kamera verwendete Format zurück.

Hinweis: Wenn Sie das FFMPEG-Backend auf einem Android-Zielgerät verwenden und das YUV420P-Format anfordern, erhalten Sie entweder ein vollständig planares 4:2:0 YUV420P oder ein semi-planares NV12/NV21. Dies hängt von dem vom Geräte-OEM implementierten Codec ab.

Zugriffsfunktionen:

QCameraFormat cameraFormat() const
void setCameraFormat(const QCameraFormat &format)

Anzeigesignal:

void cameraFormatChanged()

Siehe auch QCameraDevice::videoFormats.

colorTemperature : int

Gibt die aktuelle Farbtemperatur zurück, wenn der aktuelle Weißabgleichmodus WhiteBalanceManual ist. Bei anderen Modi ist der Rückgabewert undefiniert.

Zugriffsfunktionen:

int colorTemperature() const
void setColorTemperature(int colorTemperature)

Benachrichtigungssignal:

void colorTemperatureChanged() const

customFocusPoint : QPointF

Diese Eigenschaft stellt die Position des benutzerdefinierten Fokuspunkts in relativen Rahmenkoordinaten dar: QPointF(0,0) zeigt auf den linken oberen Rahmenpunkt, QPointF(0.5,0.5) zeigt auf die Rahmenmitte.

Die Eigenschaft "Benutzerdefinierter Fokuspunkt" wird nur im Fokusmodus FocusPointCustom verwendet.

Sie können prüfen, ob benutzerdefinierte Fokuspunkte unterstützt werden, indem Sie supportedFeatures() mit dem Flag Feature abfragen.CustomFocusPoint.

Zugriffsfunktionen:

QPointF customFocusPoint() const
void setCustomFocusPoint(const QPointF &point)

Benachrichtigungssignal:

void customFocusPointChanged()

[read-only] error : const Error

Gibt den Fehlerzustand der Kamera zurück.

Zugriffsfunktionen:

QCamera::Error error() const

Benachrichtigungssignal:

void errorChanged()

[read-only] errorString : const QString

Gibt eine menschenlesbare Zeichenkette zurück, die den Fehlerzustand einer Kamera beschreibt.

Zugriffsfunktionen:

QString errorString() const

Melder-Signal:

void errorChanged()

exposureCompensation : float

Belichtungskorrektur in EV-Einheiten.

Mit der Eigenschaft Belichtungskorrektur können Sie die automatisch berechnete Belichtung anpassen.

Zugriff auf Funktionen:

float exposureCompensation() const
void setExposureCompensation(float ev)

Benachrichtigungssignal:

void exposureCompensationChanged(float value)

exposureMode : QCamera::ExposureMode

Diese Eigenschaft enthält den verwendeten Belichtungsmodus.

Zugriffsfunktionen:

QCamera::ExposureMode exposureMode() const
void setExposureMode(QCamera::ExposureMode mode)

Melder-Signal:

void exposureModeChanged()

Siehe auch QCamera::isExposureModeSupported.

[read-only] exposureTime : const float

Die Belichtungszeit der Kamera in Sekunden.

Zugriff auf Funktionen:

float exposureTime() const

Benachrichtigungssignal:

void exposureTimeChanged(float speed)

Siehe auch minimumExposureTime(), maximumExposureTime(), und setManualExposureTime().

flashMode : QCamera::FlashMode

Diese Eigenschaft enthält den verwendeten Blitzmodus.

Aktiviert einen bestimmten Blitzmodus, wenn die Kamera über einen Blitz verfügt.

Zugriffsfunktionen:

QCamera::FlashMode flashMode() const
void setFlashMode(QCamera::FlashMode mode)

Benachrichtigungssignal:

void flashModeChanged()

Siehe auch QCamera::FlashMode, QCamera::isFlashModeSupported, und QCamera::isFlashReady.

[read-only] flashReady : const bool

Zeigt an, ob der Blitz geladen und einsatzbereit ist.

Zugriffsfunktionen:

bool isFlashReady() const[see note below]

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

Benachrichtigungssignal:

void flashReady(bool ready)

focusDistance : float

Diese Eigenschaft definiert den Fokusabstand des Objektivs, wenn das Kameragerät im manuellen Fokusmodus arbeitet. Gültige Werte reichen von 0 bis 1, wobei 0 der kürzeste mögliche Fokusabstand und 1 der weiteste ist. Der weiteste Punkt liegt in der Regel bei unendlich, was aber nicht bei allen Geräten der Fall sein muss.

Diese Eigenschaft wird nur auf das Gerät angewendet, wenn focusMode auf FocusModeManual gesetzt ist und supportedFeatures das Flag Feature::FocusDistance enthält.

Wenn Sie dieser Eigenschaft einen Wert zuweisen, während focusMode nicht auf Camera.FocusModeManual gesetzt ist, speichert die Eigenschaft den Wert, wirkt sich aber erst auf das Gerät aus, wenn Camera.FocusModeManual aktiv ist.

Die Zuweisung eines Wertes außerhalb des gültigen Bereichs [0, 1] hat keine Auswirkungen auf diese Eigenschaft.

Wenn supportedFeatures nicht das Flag FocusDistance enthält, wird jeder Versuch, diese Eigenschaft zu setzen, ignoriert.

Diese Eigenschaft wird von der Kamera nicht aktualisiert, wenn sie sich im automatischen Fokusmodus befindet.

Der Standardwert ist 1.

Zugriffsfunktionen:

float focusDistance() const
void setFocusDistance(float d)

Melder-Signal:

void focusDistanceChanged(float)

focusMode : FocusMode

Diese Eigenschaft enthält den aktuellen Kamerafokusmodus.

Diese Eigenschaft enthält den Wert, der den Fokusmodus für das Kameragerät steuert. In allen Autofokus-Modi fokussiert das Kameragerät fortlaufend.

Um zu prüfen, ob das Kameragerät einen bestimmten Fokusmodus unterstützt, übergeben Sie den entsprechenden Wert FocusMode als Parameter an die Funktion isFocusModeSupported. Die Funktion gibt false zurück, wenn der Wert für den Fokusmodus nicht unterstützt wird. Die Zuweisung dieses Modus an die Eigenschaft focusMode hat keine Auswirkung.

Wenn Sie die Eigenschaft focusMode auf Camera.FocusModeManual setzen, stellt sich das Objektiv auf den Fokus gemäß focusDistance ein.

Zugriffsfunktionen:

QCamera::FocusMode focusMode() const
void setFocusMode(QCamera::FocusMode mode)

Notifier-Signal:

Siehe auch isFocusModeSupported.

[read-only] focusPoint : const QPointF

Gibt den Punkt zurück, auf den das Autofokussystem derzeit fokussiert.

Zugriffsfunktionen:

QPointF focusPoint() const

Benachrichtigungssignal:

void focusPointChanged()

[read-only] isoSensitivity : const int

Diese Eigenschaft enthält die ISO-Empfindlichkeit des Sensors.

Beschreibt die aktuell von der Kamera verwendete ISO-Empfindlichkeit.

Zugriffsfunktionen:

int isoSensitivity() const

Benachrichtigungssignal:

void isoSensitivityChanged(int value)

Siehe auch setAutoIsoSensitivity() und setManualIsoSensitivity().

manualExposureTime : float

Stellen Sie die manuelle Belichtungszeit auf seconds

Funktionen aufrufen:

float manualExposureTime() const
void setManualExposureTime(float seconds)

Signalgebersignal:

void manualExposureTimeChanged(float speed)

manualIsoSensitivity : int

Beschreibt eine manuell eingestellte ISO-Empfindlichkeit

Wenn Sie diese Eigenschaft auf -1 (Standardeinstellung) setzen, stellt die Kamera die ISO-Empfindlichkeit automatisch ein.

Zugriffsfunktionen:

int manualIsoSensitivity() const
void setManualIsoSensitivity(int iso)

Benachrichtigungssignal:

void manualIsoSensitivityChanged(int)

[read-only] maximumZoomFactor : const float

Gibt den maximalen Zoomfaktor zurück.

Bei Kameras, die das Zoomen nicht unterstützen, ist dies 1.0.

Zugriffsfunktionen:

float maximumZoomFactor() const

Benachrichtigungssignal:

void maximumZoomFactorChanged(float)

[read-only] minimumZoomFactor : const float

Gibt den minimalen Zoomfaktor zurück.

Bei Kameras, die kein Zoomen unterstützen, ist dies 1.0.

Zugriffsfunktionen:

float minimumZoomFactor() const

Benachrichtigungssignal:

void minimumZoomFactorChanged(float)

[read-only] supportedFeatures : const Features

Gibt die von dieser Kamera unterstützten Funktionen zurück.

Zugriffsfunktionen:

QCamera::Features supportedFeatures() const

Benachrichtigungssignal:

void supportedFeaturesChanged()

Siehe auch QCamera::Feature.

torchMode : QCamera::TorchMode

Diese Eigenschaft enthält den verwendeten Taschenlampenmodus.

Eine Taschenlampe ist eine kontinuierliche Lichtquelle. Sie kann während der Videoaufnahme bei schlechten Lichtverhältnissen verwendet werden. Wenn Sie den Taschenlampenmodus aktivieren, wird in der Regel der aktuell eingestellte Blitzmodus außer Kraft gesetzt.

Zugriff auf Funktionen:

QCamera::TorchMode torchMode() const
void setTorchMode(QCamera::TorchMode mode)

Benachrichtigungssignal:

void torchModeChanged()

Siehe auch QCamera::TorchMode, QCamera::isTorchModeSupported, und QCamera::flashMode.

whiteBalanceMode : WhiteBalanceMode

Gibt den verwendeten Weißabgleichsmodus zurück.

Zugriffsfunktionen:

QCamera::WhiteBalanceMode whiteBalanceMode() const
void setWhiteBalanceMode(QCamera::WhiteBalanceMode mode)

Benachrichtigungssignal:

void whiteBalanceModeChanged() const

zoomFactor : float

Diese Eigenschaft enthält den aktuellen Zoomfaktor.

Liest oder setzt den aktuellen Zoomfaktor. Die Werte werden zwischen minimumZoomFactor und maximumZoomFactor eingegrenzt.

Zugriffsfunktionen:

float zoomFactor() const
void setZoomFactor(float factor)

Benachrichtigungssignal:

void zoomFactorChanged(float)

Member Function Dokumentation

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

Konstruieren Sie eine QCamera mit einer parent.

Wählt die Standardkamera im System aus, wenn mehr als eine Kamera verfügbar ist.

[explicit] QCamera::QCamera(QCameraDevice::Position position, QObject *parent = nullptr)

Konstruieren Sie eine QCamera, die eine Hardware-Kamera verwendet, die sich an der angegebenen position befindet.

Bei einem Mobiltelefon kann man damit zum Beispiel einfach zwischen einer nach vorne und einer nach hinten gerichteten Kamera wählen.

Wenn an der angegebenen Adresse position keine Kamera vorhanden ist oder position QCameraDevice::UnspecifiedPosition ist, wird die Standardkamera verwendet.

[explicit] QCamera::QCamera(const QCameraDevice &cameraDevice, QObject *parent = nullptr)

Konstruieren Sie eine QCamera aus einer Kamerabeschreibung cameraDevice und parent.

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

Zerstört das Kameraobjekt.

QMediaCaptureSession *QCamera::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::setCamera(), um die Kamera mit einer Sitzung zu verbinden.

[signal] void QCamera::errorOccurred(QCamera::Error error, const QString &errorString)

Dieses Signal wird ausgegeben, wenn der Fehlerzustand auf error wechselt. Eine Beschreibung des Fehlers wird unter errorString bereitgestellt.

[signal] void QCamera::exposureCompensationChanged(float value)

Signal, das ausgegeben wird, wenn die Belichtungskompensation auf value wechselt.

Hinweis: Meldesignal für die Eigenschaft exposureCompensation.

float QCamera::exposureTime() const

Gibt die aktuelle Belichtungszeit in Sekunden zurück.

Hinweis: Getter-Funktion für die Eigenschaft exposureTime.

[signal] void QCamera::exposureTimeChanged(float speed)

Signalisiert, dass sich die Belichtung einer Kamera speed geändert hat.

Hinweis: Meldesignal für die Eigenschaft exposureTime.

[signal] void QCamera::flashReady(bool ready)

Signalisiert, dass sich der Status des Blitzes ready geändert hat.

Hinweis: Meldesignal für die Eigenschaft flashReady.

[signal] void QCamera::focusModeChanged()

Signalisiert, wenn sich die focusMode ändert.

Hinweis: Meldesignal für die Eigenschaft focusMode.

bool QCamera::isActive() const

Gibt true zurück, wenn die Kamera gerade aktiv ist.

Hinweis: Getter-Funktion für die Eigenschaft active.

bool QCamera::isAvailable() const

Gibt true zurück, wenn die Kamera verwendet werden kann.

[invokable] bool QCamera::isExposureModeSupported(QCamera::ExposureMode mode) const

Gibt true zurück, wenn die Exposition mode unterstützt wird.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

[invokable] bool QCamera::isFlashModeSupported(QCamera::FlashMode mode) const

Gibt true zurück, wenn der Flash mode unterstützt wird.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

[invokable] bool QCamera::isFlashReady() const

Gibt true zurück, wenn der Blitz geladen ist.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

Hinweis: Getter-Funktion für die Eigenschaft flashReady.

[invokable] bool QCamera::isFocusModeSupported(QCamera::FocusMode mode) const

Gibt true zurück, wenn der Fokus mode von der Kamera unterstützt wird.

Wenn FocusModeManual als unterstützt gemeldet wird, wird davon ausgegangen, dass die Funktion Feature::FocusDistance ebenfalls unterstützt wird.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

[invokable] bool QCamera::isTorchModeSupported(QCamera::TorchMode mode) const

Gibt true zurück, wenn die Fackel mode unterstützt wird.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

[invokable] bool QCamera::isWhiteBalanceModeSupported(QCamera::WhiteBalanceMode mode) const

Gibt true zurück, wenn der Weißabgleich mode unterstützt wird.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

[signal] void QCamera::isoSensitivityChanged(int value)

Signal, das ausgegeben wird, wenn die Empfindlichkeit auf value wechselt.

Hinweis: Meldesignal für die Eigenschaft isoSensitivity.

float QCamera::manualExposureTime() const

Gibt die manuelle Belichtungszeit in Sekunden zurück, oder -1, wenn die Kamera automatische Belichtungszeiten verwendet.

Hinweis: Getter-Funktion für die Eigenschaft manualExposureTime.

Siehe auch setManualExposureTime().

float QCamera::maximumExposureTime() const

Die maximale Belichtungszeit in Sekunden.

int QCamera::maximumIsoSensitivity() const

Gibt die maximale ISO-Empfindlichkeit zurück, die von der Kamera unterstützt wird.

float QCamera::minimumExposureTime() const

Die minimale Belichtungszeit in Sekunden.

int QCamera::minimumIsoSensitivity() const

Gibt die minimale ISO-Empfindlichkeit zurück, die von der Kamera unterstützt wird.

[slot] void QCamera::setActive(bool active)

Schaltet die Kamera ein, wenn active true ist, oder aus, wenn sie false ist.

Hinweis: Setter-Funktion für die Eigenschaft active.

Siehe auch isActive().

[slot] void QCamera::setAutoExposureTime()

Automatisch berechnete Belichtungszeit verwenden

[slot] void QCamera::setAutoIsoSensitivity()

Automatische Empfindlichkeit einschalten

void QCamera::setCameraDevice(const QCameraDevice &cameraDevice)

Verbindet das Kameraobjekt mit dem durch cameraDevice beschriebenen physischen Kameragerät. Wenn Sie ein standardmäßig erstelltes QCameraDevice Objekt als cameraDevice verwenden, wird die Kamera mit dem Standard-Kameragerät des Systems verbunden.

Beim Wechsel des Kamerageräts werden die Fähigkeiten von QCamera aktualisiert. Außerdem werden die Steuereigenschaften von QCamera(wie focusMode, flashMode, focusDistance, zoomFactor) wie folgt aktualisiert:

  • Wenn eine Eigenschaft auf dem neuen Gerät unterstützt wird, wird der Eigenschaftswert auf das Kameragerät angewendet.
  • Wenn eine Eigenschaft unterstützt wird, aber ihr Wertebereich geändert wurde, wird die Eigenschaft auf den neuen Wertebereich geklemmt und auf das Kameragerät angewendet.
  • Wenn das neue Kameragerät eine Eigenschaft nicht unterstützt, wird der Eigenschaftswert auf den Standardwert zurückgesetzt, und es werden keine Änderungen an dem Kameragerät vorgenommen.

Hinweis: Setter-Funktion für die Eigenschaft cameraDevice.

Siehe auch cameraDevice().

void QCamera::setCameraFormat(const QCameraFormat &format)

Weist die Kamera an, das unter format beschriebene Format zu verwenden. Dies kann verwendet werden, um eine bestimmte Auflösung und Bildrate für die Aufzeichnung und Bildaufnahme zu definieren.

Hinweis: Wenn Sie das FFMPEG-Backend auf einem Android-Zielgerät verwenden und das YUV420P-Format anfordern, erhalten Sie entweder ein vollständig planares 4:2:0 YUV420P oder ein semi-planares NV12/NV21. Dies hängt von dem vom Geräte-OEM implementierten Codec ab.

Hinweis: Setter-Funktion für die Eigenschaft cameraFormat.

Siehe auch cameraFormat().

[slot] void QCamera::setColorTemperature(int colorTemperature)

Stellt den manuellen Weißabgleich auf colorTemperature ein. Dies wird verwendet, wenn whiteBalanceMode() auf WhiteBalanceManual eingestellt ist. Die Einheiten sind Kelvin.

Die Einstellung einer Farbtemperatur hat nur dann eine Wirkung, wenn WhiteBalanceManual unterstützt wird. Wenn Sie in diesem Fall eine Temperatur größer 0 einstellen, wird der Weißabgleichmodus automatisch auf WhiteBalanceManual gesetzt. Wenn Sie die Temperatur auf 0 setzen, wird der Weißabgleichmodus auf WhiteBalanceAuto zurückgesetzt.

Hinweis: Setter-Funktion für die Eigenschaft colorTemperature.

Siehe auch colorTemperature().

[slot] void QCamera::setWhiteBalanceMode(QCamera::WhiteBalanceMode mode)

Setzt den Weißabgleich auf mode.

Hinweis: Setter-Funktion für die Eigenschaft whiteBalanceMode.

Siehe auch whiteBalanceMode().

void QCamera::setZoomFactor(float factor)

Zoomt auf einen Zoomfaktor factor mit einer Rate von 1 Faktor pro Sekunde.

Hinweis: Setter-Funktion für die Eigenschaft zoomFactor.

Siehe auch zoomFactor().

[slot] void QCamera::start()

Startet die Kamera.

Dasselbe wie setActive(true).

Wenn die Kamera aus irgendeinem Grund nicht gestartet werden kann, wird das Signal errorOccurred() ausgegeben.

[slot] void QCamera::stop()

Hält die Kamera an. Dasselbe wie setActive(false).

[slot] void QCamera::zoomTo(float factor, float rate)

Zoomen auf einen Zoomfaktor factor mit rate.

Die rate wird in Zweierpotenzen pro Sekunde angegeben. Bei einer Rate von 1 würde es 2 Sekunden dauern, von einem Zoomfaktor von 1 auf 4 zu wechseln.

Hinweis: Die Verwendung einer bestimmten Rate wird nicht von allen Kameras unterstützt. Wenn dies nicht der Fall ist, wird der Zoom so schnell wie möglich ausgeführt.

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