Auf dieser Seite

Camera QML Type

Eine Schnittstelle für Kameraeinstellungen in Bezug auf Fokus und Zoom. Mehr...

Import Statement: import QtMultimedia
In C++: QCamera

Eigenschaften

Signale

Methoden

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 [read-only]

Gibt den Fehlerstatus der Kamera zurück.

KonstanteBeschreibung
Camera.NoErrorEs sind keine Fehler aufgetreten.
Camera.CameraErrorEs ist ein Fehler aufgetreten.

errorString : string [read-only]

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.

KonstanteBeschreibung
Camera.ExposureAutoAutomatischer Modus.
Camera.ExposureManualManueller Modus.
Camera.ExposurePortraitPorträt-Belichtungsmodus.
Camera.ExposureNightNachtmodus.
Camera.ExposureSportsBelichtungsmodus Flecken.
Camera.ExposureSnowBelichtungsmodus Schnee.
Camera.ExposureBeachStrand-Belichtungsmodus.
Camera.ExposureActionAction-Modus. Seit 5.5
Camera.ExposureLandscapeQuerformat. Seit Version 5.5
Camera.ExposureNightPortraitNachtporträt-Modus. Seit 5.5
Camera.ExposureTheatreTheater-Modus. Seit Version 5.5
Camera.ExposureSunsetSonnenuntergangsmodus. Seit Version 5.5
Camera.ExposureSteadyPhotoGleichmäßiger Fotomodus. Seit Version 5.5
Camera.ExposureFireworksFeuerwerk-Modus. Seit Version 5.5
Camera.ExposurePartyParty-Modus. Seit Version 5.5
Camera.ExposureCandlelightKerzenlicht-Modus. Seit Version 5.5
Camera.ExposureBarcodeBarcode-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 Auswirkung.

Diese Eigenschaft wirkt sich nur bei der Aufnahme von Bildern mit ImageCapture

KonstanteBeschreibung
Camera.FlashOffDer Blitz ist ausgeschaltet.
Camera.FlashOnDer Blitz ist eingeschaltet.
Camera.FlashAutoAutomatischer 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 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.

KonstantBeschreibung
Camera.FocusModeAutoKontinuierlicher Autofokus-Modus.
Camera.FocusModeAutoNearKontinuierlicher Autofokus, der Objekte in der Nähe der Kamera bevorzugt.
Camera.FocusModeAutoFarKontinuierlicher Autofokus, der weit von der Kamera entfernte Objekte bevorzugt.
Camera.FocusModeHyperfocalFokussierung 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.FocusModeInfinityStrenge Fokussierung auf unendlich.
Camera.FocusModeManualDie 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 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 [read-only]

Diese Eigenschaft gibt den maximal unterstützten Zoomfaktor an.

Bei Kameras, die das Zoomen nicht unterstützen, ist dies 1.0.


minimumZoomFactor : real [read-only]

Diese Eigenschaft gibt den minimalen unterstützten Zoomfaktor an.

Bei Kameras, die das Zoomen nicht unterstützen, lautet dieser Wert 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.

KonstanteBeschreibung
Camera.ColorTemperatureDie Kamera unterstützt die Einstellung eines benutzerdefinierten colorTemperature.
Camera.ExposureCompensationDie Kamera unterstützt das Einstellen eines benutzerdefinierten exposureCompensation.
Camera.IsoSensitivityDie Kamera unterstützt das Einstellen eines benutzerdefinierten isoSensitivity.
Camera.ManualExposureTimeDie Kamera unterstützt das Einstellen einer manual exposure Time.
Camera.CustomFocusPointDie Kamera unterstützt das Einstellen einer custom focus point.
Camera.FocusDistanceDie 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.

KonstantBeschreibung
Camera.TorchOffTaschenlampe ist ausgeschaltet.
Camera.TorchOnTaschenlampe ist eingeschaltet.
Camera.TorchAutoAutomatische Taschenlampe.

Siehe auch isTorchModeSupported() und flashMode.


whiteBalanceMode : enumeration

Ruft den verwendeten Weißabgleichsmodus ab oder stellt ihn ein.

KonstantBeschreibung
Camera.WhiteBalanceAutoAutomatischer Weißabgleich-Modus.
Camera.WhiteBalanceManualManueller Weißabgleich. In diesem Modus sollte der Weißabgleich mit setColorTemperature() eingestellt werden.
Camera.WhiteBalanceSunlightModus Sonnenlicht-Weißabgleich.
Camera.WhiteBalanceCloudyBewölkter Weißabgleichsmodus.
Camera.WhiteBalanceShadeSchatten-Weißabgleich.
Camera.WhiteBalanceTungstenWolfram (Glühlampen) Weißabgleich.
Camera.WhiteBalanceFluorescentFluoreszierender Weißabgleich.
Camera.WhiteBalanceFlashBlitzlicht-Weißabgleich.
Camera.WhiteBalanceSunsetWeiß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.