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 : ExposureMode
- exposureTime : real
- flashMode : enumeration
- flashReady : bool
- focusDistance : real
- focusMode : enumeration
- focusPoint : point
- isoSensitivity : int
- manualExposureTime : real
- manualIsoSensitivity : int
- maximumZoomFactor : real
- minimumZoomFactor : real
- supportedFeatures : Features
- torchMode : Camera::TorchMode
- whiteBalanceMode : WhiteBalanceMode
- 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 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 "Berühren zum Fokussieren", d. h. die Angabe eines interessanten Bildbereichs, auf den die Hardware scharfstellen soll.
Item { width: 640 height: 360 CaptureSession { camera: Camera { id: camera focusMode: Camera.FocusModeAutoNear customFocusPoint: Qt.point(0.2, 0.2) // Focus relative to top-left corner } videoOutput: videoOutput } VideoOutput { id: videoOutput anchors.fill: parent } }
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 Kamera-Hardware 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.
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 QCamera aktualisiert. Außerdem werden die Steuereigenschaften von QCamera(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.
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 linke obere Ecke des Rahmens und QPointF(0.5,0.5) auf die Mitte des Rahmens zeigt.
Der benutzerdefinierte 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.CustomFocusPoint abfragen.
error : enumeration |
Gibt den Fehlerstatus der Kamera zurück.
Siehe auch QCamera::Error.
errorString : string |
Gibt einen lesbaren String zurück, der den Fehlerstatus der Kamera beschreibt.
exposureCompensation : real |
Liest oder setzt die Belichtungskompensation in EV-Einheiten.
Mit der Eigenschaft Belichtungskorrektur können Sie die automatisch berechnete Belichtung anpassen.
exposureMode : ExposureMode |
Der verwendete Belichtungsmodus.
Siehe auch QCamera::ExposureMode und Camera::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.
Konstante | Beschreibung |
---|---|
Camera.FlashOff | Blitz ist ausgeschaltet. |
Camera.FlashOn | Blitz ist eingeschaltet. |
Camera.FlashAuto | Automatischer Blitz. |
Siehe auch isFlashModeSupported und isFlashReady.
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 Camera.FocusDistance-Flag 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 das Flag Camera.FocusDistance nicht enthält, wird jeder Versuch, diese Eigenschaft zu setzen, ignoriert.
Diese Eigenschaft wird von der Kamera nicht aktualisiert, wenn sie sich in einem 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 FocusMode-Wert als Parameter an die Funktion isFocusModeSupported. Die Funktion gibt false zurück, wenn der Fokusmoduswert nicht unterstützt wird. Die Zuweisung dieses Modus an die Eigenschaft focusMode hat keine Auswirkungen.
Wenn Sie die Eigenschaft focusMode auf Camera.FocusModeManual setzen, wird das Objektiv gemäß focusDistance auf den Fokus 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 : Features |
Gibt die von dieser Kamera unterstützten Funktionen zurück.
Siehe auch QCamera::Feature.
torchMode : Camera::TorchMode |
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.
Siehe auch QCamera::TorchMode, Camera::isTorchModeSupported(), und Camera::flashMode.
whiteBalanceMode : WhiteBalanceMode |
Ruft den verwendeten Weißabgleichsmodus ab oder stellt ihn ein.
Siehe auch QCamera::WhiteBalanceMode.
zoomFactor : real |
Ruft den aktuellen Zoomfaktor ab oder legt ihn fest. Die Werte werden zwischen minimumZoomFactor und maximumZoomFactor eingegrenzt.
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 FocusModeManual als unterstützt gemeldet wird, wird angenommen, dass die Funktion Feature::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() |
Startet die Kamera.
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 durchgefü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.