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)
Ausführliche Beschreibung
Das „Camera“-Element kann in einem „ CaptureSession “ zur Videoaufzeichnung und Bildaufnahme verwendet werden.
Mit „ MediaDevices “ können Sie die verfügbaren Kameras auflisten und auswählen, welche Sie verwenden möchten.
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. Mit der Eigenschaft „ zoomFactor “ können Sie den Zoomfaktor ändern.
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 Bildverarbeitungsschritte durch, um das endgültige Bild zu erzeugen. Dazu gehören die Kompensation der Umgebungslichtfarbe, die Rauschunterdrückung sowie einige weitere Anpassungen am Bild.
Viele dieser Verarbeitungsschritte können Sie über die Kameraeigenschaften steuern. So können Sie beispielsweise den für die Bildverarbeitung verwendeten Weißabgleich (oder die Farbtemperatur) festlegen:
Camera {
whiteBalanceMode: Camera.WhiteBalanceManual
colorTemperature: 5600
}Weitere Informationen zur Bildverarbeitung von Kamerabildern finden Sie unter „Kamerabildverarbeitung“.
Auf den meisten Plattformen muss der Endbenutzer Berechtigungen erteilen, bevor eine Kamera aktiviert werden kann. Es wird daher dringend empfohlen, dass Anwendungsentwickler bei der Arbeit mit Kameras die Komponente „ CameraPermission “ verwenden. Im Folgenden finden Sie ein kurzes Beispiel, das beim Start der Anwendung Berechtigungen vom Endbenutzer anfordert und die Kamera anschließend aktiviert, sofern 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 zu den Eigenschaften
active : bool
Gibt an, ob die Kamera derzeit aktiv ist.
cameraDevice : cameraDevice
Ruft das derzeit aktive Kameragerät ab oder legt es fest.
Beim Wechseln der Kamerageräte werden die Funktionen des „ Camera “ aktualisiert. Zudem werden die Steuerungseigenschaften des „ Camera “ (wie z. B. „ focusMode “, „ flashMode “, „ focusDistance “, „ zoomFactor “) wie folgt aktualisiert:
- Wird eine Eigenschaft auf dem neuen Gerät unterstützt, wird der Wert dieser Eigenschaft auf das Kameragerät angewendet.
- Wenn eine Eigenschaft zwar unterstützt wird, sich aber ihr Bereich gültiger Werte geändert hat, wird die Eigenschaft auf den neuen Bereich begrenzt 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 am Kameragerät vorgenommen.
cameraFormat : cameraFormat
Ruft das derzeit aktive Kameraformat ab oder legt es fest.
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-Format oder ein semi-planares NV12/NV21-Format. Dies hängt vom Codec ab, der vom Gerätehersteller implementiert wurde.
Hinweis: Unter macOS werden Kamerageräte von mehreren Anwendungen des Betriebssystems gemeinsam genutzt. Das bedeutet, dass eine andere Anwendung das durch diese Eigenschaft festgelegte Format überschreiben kann. Anwendungsentwickler sollten darauf vorbereitet sein, Videobilder zu empfangen, deren Auflösung, Pixelformat und Bildrate von den durch diese Eigenschaft beschriebenen Werten abweichen. Diese Eigenschaft ändert sich nicht, wenn das Format des Geräts durch eine andere Anwendung geändert wird. Das durch diese Eigenschaft beschriebene Format kann dem Gerät erneut zugewiesen werden, indem die „ Camera “ erneut aktiviert wird.
Siehe auch „ cameraDevice::videoFormats “.
colorTemperature : int
Ruft die aktuelle Farbtemperatur ab oder legt sie fest.
Die Einstellung einer Farbtemperatur wirkt sich nur aus, wenn „WhiteBalanceManual“ unterstützt wird. In diesem Fall wird durch die Einstellung einer Temperatur größer als 0 der Weißabgleichmodus automatisch auf „WhiteBalanceManual“ gesetzt. Durch die Einstellung der Temperatur auf 0 wird der Weißabgleichmodus auf „WhiteBalanceAuto“ zurückgesetzt.
customFocusPoint : point
Diese Eigenschaft enthält die Position eines benutzerdefinierten Fokuspunkts in relativen Bildkoordinaten. Das bedeutet, dass „ QPointF “ (0,0) auf die obere linke Ecke des Bildes verweist und „ QPointF “ (0,5,0,5) auf die Mitte des Bildes.
Sie können überprüfen, ob benutzerdefinierte Fokuspunkte unterstützt werden, indem Sie die Methode `supportedFeatures()` mit dem Flag `Feature.CustomFocusPoint` aufrufen.
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 für Menschen lesbare Zeichenkette zurück, die den Fehlerzustand einer Kamera beschreibt.
exposureCompensation : real
Ruft die Belichtungskorrektur in EV-Einheiten ab oder legt sie fest.
Mit der Eigenschaft „Belichtungskorrektur“ lässt sich die automatisch berechnete Belichtung anpassen.
exposureMode : enumeration
Der verwendete Belichtungsmodus.
| Konstant | Beschreibung |
|---|---|
Camera.ExposureAuto | Automatikmodus. |
Camera.ExposureManual | Manueller Modus. |
Camera.ExposurePortrait | Porträt-Belichtungsmodus. |
Camera.ExposureNight | Nachtmodus. |
Camera.ExposureSports | Spot-Belichtungsmodus. |
Camera.ExposureSnow | Belichtungsmodus „Schnee“. |
Camera.ExposureBeach | Strand-Belichtungsmodus. |
Camera.ExposureAction | Action-Modus. Ab Version 5.5 |
Camera.ExposureLandscape | Landschaftsmodus. Ab Version 5.5 |
Camera.ExposureNightPortrait | Nachtporträt-Modus. Seit 5.5 |
Camera.ExposureTheatre | Theater-Modus. Seit 5.5 |
Camera.ExposureSunset | Sonnenuntergangsmodus. Ab 5.5 |
Camera.ExposureSteadyPhoto | Verwacklungsfreier Fotomodus. Seit 5.5 |
Camera.ExposureFireworks | Feuerwerksmodus. Seit 5.5 |
Camera.ExposureParty | Party-Modus. Seit 5.5 |
Camera.ExposureCandlelight | Kerzenlicht-Modus. Seit 5.5 |
Camera.ExposureBarcode | Barcode-Modus. Seit 5.5 |
Siehe auch isExposureModeSupported().
exposureTime : real [read-only]
Gibt die Belichtungszeit der Kamera in Sekunden zurück.
Siehe auch „ manualExposureTime “.
flashMode : enumeration
Ruft einen bestimmten Blitzmodus ab oder legt ihn fest, sofern 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 aus, wenn Bilder mit ImageCapture
| „Constant“ | 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 die Fokusentfernung des Objektivs, wenn das Kameragerät im manuellen Fokusmodus arbeitet. Gültige Werte liegen zwischen 0 und 1, wobei 0 die kürzeste mögliche Fokusentfernung und 1 die größte ist. Der am weitesten entfernte Punkt liegt in der Regel im Unendlichen, was jedoch möglicherweise nicht bei allen Geräten der Fall ist.
Diese Eigenschaft wird nur dann 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 jedoch erst auf das Gerät aus, sobald „ Camera.FocusModeManual “ aktiv ist.
Die Zuweisung eines Werts 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 im Autofokus-Modus befindet.
Der Standardwert ist 1.
focusMode : enumeration
Diese Eigenschaft enthält den Wert, der den Fokusmodus des Kamerageräts steuert. In allen Autofokus-Modi führt das Kameragerät kontinuierlich eine Fokussierung durch.
Hinweis: In den automatischen Fokussiermodi und sofern unterstützt, bietet die Eigenschaft „ focusPoint “ Informationen und Steuerungsmöglichkeiten für den Bereich des Bildes, auf den fokussiert wird.
| Konstante | Beschreibung |
|---|---|
Camera.FocusModeAuto | Kontinuierlicher Autofokus-Modus. |
Camera.FocusModeAutoNear | Kontinuierlicher Autofokus, der Objekte in der Nähe der Kamera bevorzugt. |
Camera.FocusModeAutoFar | Kontinuierlicher Autofokus, bei dem Objekte, die weit von der Kamera entfernt sind, bevorzugt werden. |
Camera.FocusModeHyperfocal | Fokussierung auf die Hyperfokaldistanz, wodurch die maximale Schärfentiefe erreicht wird. Alle Objekte in Entfernungen von der Hälfte dieser Distanz bis unendlich werden akzeptabel scharf abgebildet. |
Camera.FocusModeInfinity | Fokussierung ausschließlich auf unendlich. |
Camera.FocusModeManual | Die Fokusentfernung des Objektivs wird auf einen durch ` focusDistance` festgelegten Wert eingestellt. |
Um zu überprü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 der Fokus des Objektivs gemäß „ focusDistance “ fixiert.
Siehe auch „ isFocusModeSupported()“.
focusPoint : point [read-only]
Gibt den Punkt zurück, den das Autofokussystem derzeit zur Fokussierung verwendet.
isoSensitivity : int [read-only]
Gibt die derzeit von der Kamera verwendete ISO-Empfindlichkeit an.
manualExposureTime : real
Ruft eine manuelle Belichtungszeit ab oder legt sie fest.
Wird diese Eigenschaft auf -1 gesetzt (Standardwert), bestimmt die Kamera die Belichtungszeit automatisch.
manualIsoSensitivity : int
Beschreibt eine manuell eingestellte ISO-Empfindlichkeit
Wird diese Eigenschaft auf -1 (Standardwert) gesetzt, bedeutet dies, dass die Kamera die ISO-Empfindlichkeit automatisch anpasst.
maximumZoomFactor : real [read-only]
Diese Eigenschaft gibt den maximal unterstützten Zoomfaktor an.
Bei Kameras, die kein Zoomen unterstützen, lautet dieser Wert „ 1.0 “.
minimumZoomFactor : real [read-only]
Diese Eigenschaft gibt den niedrigsten unterstützten Zoomfaktor an.
Bei Kameras, die kein Zoomen 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 beliebige der folgenden Flags enthalten kann. Er speichert eine ODER-Kombination von Funktionswerten.
| Konstante | Beschreibung |
|---|---|
Camera.ColorTemperature | Die Kamera unterstützt die Einstellung eines benutzerdefinierten „ colorTemperature “. |
Camera.ExposureCompensation | Die Kamera unterstützt die Einstellung eines benutzerdefinierten „ exposureCompensation “. |
Camera.IsoSensitivity | Die Kamera unterstützt die Einstellung eines benutzerdefinierten „ isoSensitivity “. |
Camera.ManualExposureTime | Die Kamera unterstützt die Einstellung eines „ manual exposure Time “. |
Camera.CustomFocusPoint | Die Kamera unterstützt die Einstellung eines „ custom focus point “. |
Camera.FocusDistance | Die Kamera unterstützt die Einstellung der Eigenschaft „ focusDistance “. |
torchMode : enumeration
Ruft den aktuell verwendeten Taschenlampenmodus ab oder legt ihn fest.
Eine Taschenlampe ist eine Dauerlichtquelle. Sie kann bei Videoaufnahmen unter schlechten Lichtverhältnissen verwendet werden. Durch das Aktivieren des Taschenlampenmodus wird in der Regel der aktuell eingestellte Blitzmodus außer Kraft gesetzt.
| Konstant | Beschreibung |
|---|---|
Camera.TorchOff | Die Taschenlampe ist ausgeschaltet. |
Camera.TorchOn | Die Taschenlampe ist eingeschaltet. |
Camera.TorchAuto | Automatische Taschenlampe. |
Siehe auch isTorchModeSupported() und flashMode.
whiteBalanceMode : enumeration
Ruft den aktuell verwendeten Weißabgleichmodus ab oder legt ihn fest.
| Konstante | Beschreibung |
|---|---|
Camera.WhiteBalanceAuto | Automatischer Weißabgleichmodus. |
Camera.WhiteBalanceManual | Manueller Weißabgleich. In diesem Modus sollte der Weißabgleich mit setColorTemperature() eingestellt werden. |
Camera.WhiteBalanceSunlight | Weißabgleichsmodus „Sonnenlicht“. |
Camera.WhiteBalanceCloudy | Weißabgleich-Modus „Bewölkt“. |
Camera.WhiteBalanceShade | Weißabgleich-Modus „Schatten“. |
Camera.WhiteBalanceTungsten | Weißabgleich-Modus „Glühlampe“. |
Camera.WhiteBalanceFluorescent | Weißabgleich-Modus „Leuchtstofflampe“. |
Camera.WhiteBalanceFlash | Weißabgleich-Modus „Blitz“. |
Camera.WhiteBalanceSunset | Weißabgleich-Modus „Sonnenuntergang“. |
Siehe auch „ isWhiteBalanceModeSupported“ ().
zoomFactor : real
Ruft den aktuellen Zoomfaktor ab oder legt ihn fest. Die Werte werden auf den Bereich zwischen minimumZoomFactor und maximumZoomFactor begrenzt.
Signal-Dokumentation
void errorOccurred(Camera::Error error, string errorString)
Dieses Signal wird ausgelöst, wenn sich der Fehlerzustand auf „ error “ ändert. Eine Beschreibung des Fehlers wird unter „ errorString “ bereitgestellt.
Hinweis: Der entsprechende Handler lautet „ onErrorOccurred “.
Methodendokumentation
bool isExposureModeSupported(ExposureMode mode)
Gibt „true“ zurück, wenn die Belichtungs mode ierung unterstützt wird.
bool isFlashModeSupported(FlashMode mode)
Gibt „true“ zurück, wenn die Flash- mode -Funktion unterstützt wird.
bool isFlashReady()
Gibt „true“ zurück, wenn der Blitz aufgeladen ist.
bool isFocusModeSupported(FocusMode mode)
Gibt „ true “ zurück, wenn die Fokusfunktion „ mode “ von der Kamera unterstützt wird.
Wird „ Camera.FocusModeManual “ als unterstützt gemeldet, wird davon ausgegangen, dass auch die Funktion „ Camera.FocusDistance “ unterstützt wird.
bool isTorchModeSupported(TorchMode mode)
Gibt „true“ zurück, wenn die „torch“- mode “ unterstützt wird.
bool isWhiteBalanceModeSupported(WhiteBalanceMode mode)
Gibt „true“ zurück, wenn der Weißabgleich- mode us unterstützt wird.
void start()
Startet die Kamera.
Entspricht der Einstellung der Eigenschaft „active“ auf „true“.
Wenn die Kamera aus irgendeinem Grund nicht gestartet werden kann, wird das Signal „ errorOccurred()“ ausgelöst.
void stop()
Hält die Kamera an. Entspricht der Einstellung der Eigenschaft „active“ auf „false“.
void zoomTo(factor, rate)
Zoomt unter Verwendung von „ rate “ auf einen Zoomfaktor von factor.
Der Wert „ rate “ wird in Zweierpotenzen pro Sekunde angegeben. Bei einer Rate von 1 würde es 2 Sekunden dauern, um von einem Zoomfaktor von 1 auf 4 zu gelangen.
Hinweis: Die Verwendung einer bestimmten Rate wird nicht von allen Kameras unterstützt. Falls dies nicht unterstützt wird, erfolgt das Zoomen so schnell wie möglich.
© 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.