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.
Konstante | Wert | Beschreibung |
---|---|---|
QCamera::NoError | 0 | Es sind keine Fehler aufgetreten. |
QCamera::CameraError | 1 | Es ist ein Fehler aufgetreten. |
enum QCamera::ExposureMode
Konstante | Wert | Beschreibung |
---|---|---|
QCamera::ExposureAuto | 0 | Automatischer Modus. |
QCamera::ExposureManual | 1 | Manueller Modus. |
QCamera::ExposurePortrait | 2 | Porträt-Belichtungsmodus. |
QCamera::ExposureNight | 3 | Nachtmodus. |
QCamera::ExposureSports | 4 | Belichtungsmodus Flecken. |
QCamera::ExposureSnow | 5 | Belichtungsmodus Schnee. |
QCamera::ExposureBeach | 6 | Belichtungsmodus Strand. |
QCamera::ExposureAction | 7 | Action-Modus. Seit 5.5 |
QCamera::ExposureLandscape | 8 | Querformat. Seit Version 5.5 |
QCamera::ExposureNightPortrait | 9 | Nachtporträt-Modus. Seit 5.5 |
QCamera::ExposureTheatre | 10 | Theater-Modus. Seit Version 5.5 |
QCamera::ExposureSunset | 11 | Sonnenuntergangsmodus. Seit Version 5.5 |
QCamera::ExposureSteadyPhoto | 12 | Gleichmäßiger Fotomodus. Seit Version 5.5 |
QCamera::ExposureFireworks | 13 | Feuerwerk-Modus. Seit Version 5.5 |
QCamera::ExposureParty | 14 | Party-Modus. Seit Version 5.5 |
QCamera::ExposureCandlelight | 15 | Kerzenlicht-Modus. Seit Version 5.5 |
QCamera::ExposureBarcode | 16 | Barcode-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:
Konstante | Wert | Beschreibung |
---|---|---|
QCamera::Feature::ColorTemperature | 0x1 | Die Kamera unterstützt die Einstellung eines benutzerdefinierten colorTemperature. |
QCamera::Feature::ExposureCompensation | 0x2 | Die Kamera unterstützt das Einstellen eines benutzerdefinierten exposureCompensation. |
QCamera::Feature::IsoSensitivity | 0x4 | Die Kamera unterstützt das Einstellen eines benutzerdefinierten isoSensitivity. |
QCamera::Feature::ManualExposureTime | 0x8 | Die Kamera unterstützt das Einstellen einer manual exposure Time. |
QCamera::Feature::CustomFocusPoint | 0x10 | Die Kamera unterstützt das Einstellen einer custom focus point. |
QCamera::Feature::FocusDistance | 0x20 | Die 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
Konstante | Wert | Beschreibung |
---|---|---|
QCamera::FlashOff | 0 | Blitzlicht ist ausgeschaltet. |
QCamera::FlashOn | 1 | Blitz ist eingeschaltet. |
QCamera::FlashAuto | 2 | Automatischer Blitz. |
enum QCamera::FocusMode
Konstante | Wert | Beschreibung |
---|---|---|
QCamera::FocusModeAuto | 0 | Kontinuierlicher Autofokus-Modus. |
QCamera::FocusModeAutoNear | 1 | Kontinuierlicher Autofokusmodus auf nahe Objekte. |
QCamera::FocusModeAutoFar | 2 | Kontinuierlicher Autofokusmodus bei weit entfernten Objekten. |
QCamera::FocusModeHyperfocal | 3 | Fokussierung 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::FocusModeInfinity | 4 | Strenge Fokussierung auf unendlich. |
QCamera::FocusModeManual | 5 | Die Fokusentfernung des Kameraobjektivs wird gemäß focusDistance eingestellt. |
enum QCamera::TorchMode
Konstante | Wert | Beschreibung |
---|---|---|
QCamera::TorchOff | 0 | Fackel ist aus. |
QCamera::TorchOn | 1 | Brenner ist eingeschaltet. |
QCamera::TorchAuto | 2 | Automatische Fackel. |
enum QCamera::WhiteBalanceMode
Konstante | Wert | Beschreibung |
---|---|---|
QCamera::WhiteBalanceAuto | 0 | Automatischer Weißabgleich. |
QCamera::WhiteBalanceManual | 1 | Manueller Weißabgleich. In diesem Modus sollte der Weißabgleich mit setColorTemperature() eingestellt werden. |
QCamera::WhiteBalanceSunlight | 2 | Weißabgleichmodus Sonnenlicht. |
QCamera::WhiteBalanceCloudy | 3 | Bewölkter Weißabgleich. |
QCamera::WhiteBalanceShade | 4 | Schatten-Weißabgleich. |
QCamera::WhiteBalanceTungsten | 5 | Wolfram (Glühlampe) Weißabgleich. |
QCamera::WhiteBalanceFluorescent | 6 | Fluoreszierender Weißabgleich. |
QCamera::WhiteBalanceFlash | 7 | Blitzlicht-Weißabgleich. |
QCamera::WhiteBalanceSunset | 8 | Weißabgleich bei Sonnenuntergang. |
Dokumentation der Eigenschaften
active : bool
Zeigt an, ob die Kamera gerade aktiv ist.
Zugriffsfunktionen:
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:
void | focusModeChanged() |
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.