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
- colorTemperature : int
- 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
- 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 von 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. Im Folgenden finden Sie ein kurzes Beispiel, das beim Start der Anwendung den Endbenutzer um Berechtigungen bittet 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.
Dokumentation der Eigenschaft
active : bool
Gibt an, ob die Kamera gerade aktiv ist.
cameraDevice : cameraDevice
Liest oder setzt das derzeit aktive Kameragerät.
Beim Umschalten der Kamerageräte 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 derzeit aktive Kameraformat.
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: 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.
colorTemperature : int
Liest oder setzt die aktuelle Farbtemperatur.
Die Einstellung einer Farbtemperatur hat nur dann eine Wirkung, wenn WhiteBalanceManual unterstützt wird. In diesem Fall wird durch die Einstellung einer Temperatur größer 0 der Weißabgleichsmodus automatisch auf WhiteBalanceManual gesetzt. Wird die Temperatur auf 0 gesetzt, wird der Weißabgleichsmodus auf WhiteBalanceAuto zurückgesetzt.
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 [read-only]
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 [read-only]
Gibt eine von Menschen lesbare Zeichenkette zurück, die den Fehlerzustand einer 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 : enumeration
Der verwendete Belichtungsmodus.
| Konstant | 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 | Belichtungsmodus Strand. |
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 [read-only]
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 Auswirkungen.
Diese Eigenschaft wirkt sich nur bei der Aufnahme von Bildern mit ImageCapture
| Konstant | 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 [read-only]
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 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 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, bietet 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 [read-only]
Gibt den Punkt zurück, auf den das Autofokussystem derzeit fokussiert.
isoSensitivity : int [read-only]
Beschreibt die derzeit von der Kamera verwendete ISO-Empfindlichkeit.
manualExposureTime : real
Liest oder setzt eine manuelle Belichtungszeit.
Wenn Sie diese Eigenschaft auf -1 (Standard) setzen, bestimmt die Kamera die Belichtungszeit automatisch.
manualIsoSensitivity : int
Beschreibt eine manuell eingestellte ISO-Empfindlichkeit
Wenn Sie diese Eigenschaft auf -1 (Standardeinstellung) setzen, stellt die Kamera die ISO-Empfindlichkeit automatisch ein.
maximumZoomFactor : real [read-only]
Diese Eigenschaft enthält den maximal unterstützten Zoomfaktor.
Bei Kameras, die das Zoomen nicht unterstützen, ist dies 1.0.
minimumZoomFactor : real [read-only]
Diese Eigenschaft enthält den minimalen unterstützten Zoomfaktor.
Bei Kameras, die das Zoomen nicht unterstützen, ist dies 1.0.
supportedFeatures : enumeration [read-only]
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 das Einstellen der Eigenschaft focusDistance. |
torchMode : enumeration
Ruft den verwendeten Taschenlampenmodus ab oder legt ihn fest.
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.
| 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 legt ihn fest.
| Konstante | 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 eingegrenzt.
Signal-Dokumentation
void errorOccurred(Camera::Error error, string errorString)
Dieses Signal wird ausgegeben, wenn der Fehlerzustand auf error wechselt. Eine Beschreibung des Fehlers wird unter errorString bereitgestellt.
Hinweis: Der entsprechende Handler ist onErrorOccurred.
Dokumentation der Methode
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 Fackel 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()
Hält die Kamera an. Entspricht dem Setzen der Eigenschaft active auf false.
void zoomTo(factor, 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.
© 2026 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.