Camera QML Type
Eine Schnittstelle für Kameraeinstellungen in Bezug auf Fokus und Zoom. Mehr...
| Import Statement: | import QtMultimedia |
| In C++: | QCamera |
Eigenschaften
- active : bool
- cameraDevice : cameraDevice
- cameraFormat : cameraFormat
- customFocusPoint : point
- error : enumeration
- errorString : string
- exposureCompensation : real
- exposureMode : enumeration
- exposureTime : real
- flashMode : enumeration
- flashReady : bool
- focusDistance : real
- focusMode : enumeration
- focusPoint : point
- isoSensitivity : int
- manualExposureTime : real
- manualIsoSensitivity : int
- maximumZoomFactor : real
- minimumZoomFactor : real
- supportedFeatures : enumeration
- torchMode : enumeration
- whiteBalanceMode : enumeration
- zoomFactor : real
Signale
- void errorOccurred(Camera::Error error, string errorString)
Methoden
- colorTemperature()
- bool isExposureModeSupported(ExposureMode mode)
- bool isFlashModeSupported(FlashMode mode)
- bool isFlashReady()
- bool isFocusModeSupported(FocusMode mode)
- bool isTorchModeSupported(TorchMode mode)
- bool isWhiteBalanceModeSupported(WhiteBalanceMode mode)
- void start()
- void stop()
- void zoomTo(factor, rate)
Detaillierte Beschreibung
Das Kamera-Element kann innerhalb einer CaptureSession für Video- und Bildaufnahmen verwendet werden.
Sie können MediaDevices verwenden, um die verfügbaren Kameras aufzulisten und die zu verwendende Kamera auszuwählen.
MediaDevices {
id: mediaDevices
}
CaptureSession {
camera: Camera {
cameraDevice: mediaDevices.defaultVideoInput
}
}Auf Hardware, die dies unterstützt, können Sie mit Camera den Fokus und den Zoom einstellen. Die Eigenschaften minimumZoomFactor und maximumZoomFactor geben den Bereich der unterstützten Zoomfaktoren an. Die Eigenschaft zoomFactor ermöglicht das Ändern des Zoomfaktors.
Camera { zoomFactor: maximumZoomFactor // zoom in as much as possible }
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 { whiteBalanceMode: Camera.WhiteBalanceManual colorTemperature: 5600 }
Weitere Informationen zur Bildverarbeitung von Kamerabildern finden Sie unter Bildverarbeitung der Kamera.
Die meisten Plattformen erfordern, dass der Endbenutzer Berechtigungen erteilt, bevor eine Kamera aktiviert werden kann. Es wird daher dringend empfohlen, dass Anwendungsentwickler die Komponente CameraPermission verwenden, wenn sie mit Kameras arbeiten. Nachfolgend finden Sie ein kurzes Beispiel, das beim Start der Anwendung die Berechtigungen des Endbenutzers abfragt und dann die Kamera aktiviert, wenn die Berechtigungen erteilt wurden.
CameraPermission {
id: cameraPermission
}
Camera {
active: cameraPermission.status === Qt.PermissionStatus.Granted
}
Component.onCompleted: cameraPermission.request()Weitere Informationen finden Sie in der Kameraübersicht.
Eigenschaft Dokumentation
active : bool |
Beschreibt, ob die Kamera gerade aktiv ist.
cameraDevice : cameraDevice |
Liest oder setzt das aktuell aktive Kameragerät.
Beim Wechsel des Kamerageräts werden die Fähigkeiten von Camera aktualisiert. Außerdem werden die Steuereigenschaften von Camera(z. B. 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.
cameraFormat : cameraFormat |
Liest oder setzt das aktuell aktive Kameraformat.
Hinweis: Wenn Sie das FFMPEG-Backend auf einem Android-Zielgerät verwenden und das Format YUV420P 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: Unter macOS werden Kamerageräte von mehreren Anwendungen des Betriebssystems gemeinsam genutzt. Das bedeutet, dass eine andere Anwendung das durch diese Eigenschaft eingestellte Format überschreiben kann. Anwendungsentwickler sollten den Empfang von Videobildern berücksichtigen, die eine andere Auflösung, ein anderes Pixelformat und eine andere Framerate haben als die, die durch diese Eigenschaft beschrieben werden. Diese Eigenschaft ändert sich nicht, wenn das Format des Geräts von einer anderen Anwendung geändert wird. Das durch diese Eigenschaft beschriebene Format kann durch erneutes Aktivieren von Camera wieder auf das Gerät angewandt werden.
Siehe auch cameraDevice::videoFormats.
customFocusPoint : point |
Diese Eigenschaft enthält die Position des benutzerdefinierten Fokuspunkts in relativen Rahmenkoordinaten. Das bedeutet, dass QPointF(0,0) auf die obere linke Ecke des Rahmens und QPointF(0,5,0,5) auf die Mitte des Rahmens zeigt.
Sie können prüfen, ob benutzerdefinierte Fokuspunkte unterstützt werden, indem Sie supportedFeatures() mit dem Flag Feature.CustomFocusPoint abfragen.
error : enumeration |
Gibt den Fehlerstatus der Kamera zurück.
| Konstante | Beschreibung |
|---|---|
Camera.NoError | Es sind keine Fehler aufgetreten. |
Camera.CameraError | Es ist ein Fehler aufgetreten. |
errorString : string |
Gibt eine vom Menschen lesbare Zeichenkette zurück, die den Fehlerzustand der Kamera beschreibt.
exposureCompensation : real |
Liest oder setzt die Belichtungskompensation in EV-Einheiten.
Die Eigenschaft Belichtungskorrektur ermöglicht die Anpassung der automatisch berechneten Belichtung.
exposureMode : enumeration |
Der verwendete Belichtungsmodus.
| Konstante | Beschreibung |
|---|---|
Camera.ExposureAuto | Automatischer Modus. |
Camera.ExposureManual | Manueller Modus. |
Camera.ExposurePortrait | Porträt-Belichtungsmodus. |
Camera.ExposureNight | Nachtmodus. |
Camera.ExposureSports | Belichtungsmodus Flecken. |
Camera.ExposureSnow | Belichtungsmodus Schnee. |
Camera.ExposureBeach | Strand-Belichtungsmodus. |
Camera.ExposureAction | Action-Modus. Seit 5.5 |
Camera.ExposureLandscape | Querformat. Seit Version 5.5 |
Camera.ExposureNightPortrait | Nachtporträt-Modus. Seit 5.5 |
Camera.ExposureTheatre | Theater-Modus. Seit Version 5.5 |
Camera.ExposureSunset | Sonnenuntergangsmodus. Seit Version 5.5 |
Camera.ExposureSteadyPhoto | Gleichmäßiger Fotomodus. Seit Version 5.5 |
Camera.ExposureFireworks | Feuerwerk-Modus. Seit Version 5.5 |
Camera.ExposureParty | Party-Modus. Seit Version 5.5 |
Camera.ExposureCandlelight | Kerzenlicht-Modus. Seit Version 5.5 |
Camera.ExposureBarcode | Barcode-Modus. Seit Version 5.5 |
Siehe auch isExposureModeSupported().
exposureTime : real |
Gibt die Belichtungszeit der Kamera in Sekunden zurück.
Siehe auch manualExposureTime.
flashMode : enumeration |
Liest oder setzt einen bestimmten Blitzmodus, wenn die Kamera über einen Blitz verfügt.
Die Zuweisung eines nicht unterstützten Modus zu dieser Eigenschaft hat keine Auswirkung.
Diese Eigenschaft wirkt sich nur bei der Aufnahme von Bildern mit ImageCapture
| Konstante | Beschreibung |
|---|---|
Camera.FlashOff | Der Blitz ist ausgeschaltet. |
Camera.FlashOn | Der Blitz ist eingeschaltet. |
Camera.FlashAuto | Automatischer Blitz. |
Siehe auch isFlashModeSupported(), isFlashReady(), und flashReady.
flashReady : bool |
Zeigt an, ob der Blitz aufgeladen und einsatzbereit ist.
focusDistance : real |
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 die kürzeste mögliche Fokusentfernung und 1 die weiteste ist. Der am weitesten entfernte Punkt liegt normalerweise bei unendlich, aber das ist nicht bei allen Geräten der Fall.
Diese Eigenschaft wird nur auf das Gerät angewendet, wenn focusMode auf Camera.FocusModeManual gesetzt ist und supportedFeatures das Flag Camera.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 Camera.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.
focusMode : enumeration |
Diese Eigenschaft enthält den Wert, der den Fokusmodus für das Kameragerät steuert. In allen Autofokus-Modi fokussiert das Kameragerät fortlaufend.
Hinweis: In den Modi der automatischen Fokussierung und sofern unterstützt, liefert die Eigenschaft focusPoint Informationen und Kontrolle über den Bereich des Bildes, der fokussiert wird.
| Konstant | Beschreibung |
|---|---|
Camera.FocusModeAuto | Kontinuierlicher Autofokus-Modus. |
Camera.FocusModeAutoNear | Kontinuierlicher Autofokus, der Objekte in der Nähe der Kamera bevorzugt. |
Camera.FocusModeAutoFar | Kontinuierlicher Autofokus, der weit von der Kamera entfernte Objekte bevorzugt. |
Camera.FocusModeHyperfocal | Fokussierung auf hyperfokale Entfernung, wobei die maximale Schärfentiefe erreicht wird. Alle Objekte in Entfernungen ab der Hälfte dieser Entfernung bis hin zu unendlich sind akzeptabel scharf. |
Camera.FocusModeInfinity | Strenge Fokussierung auf unendlich. |
Camera.FocusModeManual | Die Fokusentfernung des Objektivs wird auf einen durch focusDistance festgelegten Wert eingestellt. |
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 eines nicht unterstützten Modus zu dieser Eigenschaft hat keine Auswirkung.
Wenn Sie die Eigenschaft focusMode auf Camera.FocusModeManual setzen, wird das Objektiv auf den Fokus gemäß focusDistance eingestellt.
Siehe auch isFocusModeSupported().
focusPoint : point |
Gibt den Punkt zurück, auf den das Autofokussystem derzeit fokussiert.
isoSensitivity : int |
Beschreibt die ISO-Empfindlichkeit, die derzeit von der Kamera verwendet wird.
manualExposureTime : real |
Liest oder setzt eine manuelle Belichtungszeit.
Wenn Sie diese Eigenschaft auf -1 setzen (Standardeinstellung), bedeutet dies, dass die Kamera die Belichtungszeit automatisch bestimmt.
manualIsoSensitivity : int |
Beschreibt eine manuell eingestellte ISO-Empfindlichkeit
Wenn Sie diese Eigenschaft auf -1 (Standardeinstellung) setzen, bedeutet dies, dass die Kamera die ISO-Empfindlichkeit automatisch anpasst.
maximumZoomFactor : real |
Diese Eigenschaft gibt den maximal unterstützten Zoomfaktor an.
Bei Kameras, die das Zoomen nicht unterstützen, ist dies 1.0.
minimumZoomFactor : real |
Diese Eigenschaft gibt den minimalen unterstützten Zoomfaktor an.
Bei Kameras, die das Zoomen nicht unterstützen, lautet dieser Wert 1.0.
supportedFeatures : enumeration |
Gibt die von dieser Kamera unterstützten Funktionen zurück. Der Wert ist eine Bitmaske, die eines der folgenden Flags enthalten kann. Er speichert eine ODER-Kombination von Merkmalswerten.
| Konstante | Beschreibung |
|---|---|
Camera.ColorTemperature | Die Kamera unterstützt die Einstellung eines benutzerdefinierten colorTemperature. |
Camera.ExposureCompensation | Die Kamera unterstützt das Einstellen eines benutzerdefinierten exposureCompensation. |
Camera.IsoSensitivity | Die Kamera unterstützt das Einstellen eines benutzerdefinierten isoSensitivity. |
Camera.ManualExposureTime | Die Kamera unterstützt das Einstellen einer manual exposure Time. |
Camera.CustomFocusPoint | Die Kamera unterstützt das Einstellen einer custom focus point. |
Camera.FocusDistance | Die Kamera unterstützt die Einstellung der Eigenschaft focusDistance. |
torchMode : enumeration |
Liest oder setzt den verwendeten Taschenlampenmodus.
Eine Taschenlampe ist eine kontinuierliche Lichtquelle. Sie kann während der Videoaufzeichnung bei schlechten Lichtverhältnissen verwendet werden. Das Aktivieren des Taschenlampenmodus überschreibt in der Regel den aktuell eingestellten Blitzmodus.
| Konstant | Beschreibung |
|---|---|
Camera.TorchOff | Taschenlampe ist ausgeschaltet. |
Camera.TorchOn | Taschenlampe ist eingeschaltet. |
Camera.TorchAuto | Automatische Taschenlampe. |
Siehe auch isTorchModeSupported() und flashMode.
whiteBalanceMode : enumeration |
Ruft den verwendeten Weißabgleichsmodus ab oder stellt ihn ein.
| Konstant | Beschreibung |
|---|---|
Camera.WhiteBalanceAuto | Automatischer Weißabgleich-Modus. |
Camera.WhiteBalanceManual | Manueller Weißabgleich. In diesem Modus sollte der Weißabgleich mit setColorTemperature() eingestellt werden. |
Camera.WhiteBalanceSunlight | Modus Sonnenlicht-Weißabgleich. |
Camera.WhiteBalanceCloudy | Bewölkter Weißabgleichsmodus. |
Camera.WhiteBalanceShade | Schatten-Weißabgleich. |
Camera.WhiteBalanceTungsten | Wolfram (Glühlampen) Weißabgleich. |
Camera.WhiteBalanceFluorescent | Fluoreszierender Weißabgleich. |
Camera.WhiteBalanceFlash | Blitzlicht-Weißabgleich. |
Camera.WhiteBalanceSunset | Weißabgleich bei Sonnenuntergang. |
Siehe auch isWhiteBalanceModeSupported().
zoomFactor : real |
Liest oder setzt den aktuellen Zoomfaktor. Die Werte werden zwischen minimumZoomFactor und maximumZoomFactor geklemmt.
Signal Dokumentation
void errorOccurred(Camera::Error error, string errorString) |
Dieses Signal wird ausgegeben, wenn der Fehlerstatus zu error wechselt. Eine Beschreibung des Fehlers wird als errorString bereitgestellt.
Hinweis: Der entsprechende Handler ist onErrorOccurred.
Dokumentation der Methode
colorTemperature() |
Liest oder setzt die aktuelle Farbtemperatur.
Das Setzen einer Farbtemperatur hat nur dann eine Wirkung, wenn WhiteBalanceManual unterstützt wird. In diesem Fall wird der Weißabgleichsmodus automatisch auf WhiteBalanceManual gesetzt, wenn eine Temperatur größer als 0 eingestellt wird. Wird die Temperatur auf 0 gesetzt, wird der Weißabgleichsmodus auf WhiteBalanceAuto zurückgesetzt.
bool isExposureModeSupported(ExposureMode mode) |
Gibt true zurück, wenn die Belichtung mode unterstützt wird.
bool isFlashModeSupported(FlashMode mode) |
Gibt true zurück, wenn der Blitz mode unterstützt wird.
bool isFlashReady() |
Gibt true zurück, wenn der Blitz aufgeladen ist.
bool isFocusModeSupported(FocusMode mode) |
Gibt true zurück, wenn der Fokus mode von der Kamera unterstützt wird.
Wenn Camera.FocusModeManual als unterstützt gemeldet wird, wird davon ausgegangen, dass die Funktion Camera.FocusDistance ebenfalls unterstützt wird.
bool isTorchModeSupported(TorchMode mode) |
Gibt true zurück, wenn die Taschenlampe mode unterstützt wird.
bool isWhiteBalanceModeSupported(WhiteBalanceMode mode) |
Gibt true zurück, wenn der Weißabgleich mode unterstützt wird.
void start() |
Schaltet die Kamera ein.
Entspricht dem Setzen der Eigenschaft active auf true.
Wenn die Kamera aus irgendeinem Grund nicht gestartet werden kann, wird das Signal errorOccurred() ausgegeben.
void stop() |
Stoppt die Kamera. Entspricht dem Setzen der Eigenschaft active auf false.
void zoomTo(factor, rate) |
Zoomt mit rate auf einen Zoomfaktor factor.
Der 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.