QCamera Class
Die Klasse „QCamera“ stellt eine Schnittstelle für Systemkameras bereit. Mehr...
| Header: | #include <QCamera> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
| qmake: | QT += multimedia |
| In QML: | Camera |
| Erbt von: | QObject |
Öffentliche Typen
| enum | Error { NoError, CameraError } |
| enum | ExposureMode { ExposureAuto, ExposureManual, ExposurePortrait, ExposureNight, ExposureSports, …, ExposureBarcode } |
| enum class | Feature { ColorTemperature, ExposureCompensation, IsoSensitivity, ManualExposureTime, CustomFocusPoint, FocusDistance } |
| flags | Features |
| enum | FlashMode { FlashOff, FlashOn, FlashAuto } |
| enum | FocusMode { FocusModeAuto, FocusModeAutoNear, FocusModeAutoFar, FocusModeHyperfocal, FocusModeInfinity, FocusModeManual } |
| enum | TorchMode { TorchOff, TorchOn, TorchAuto } |
| enum | WhiteBalanceMode { WhiteBalanceAuto, WhiteBalanceManual, WhiteBalanceSunlight, WhiteBalanceCloudy, WhiteBalanceShade, …, WhiteBalanceSunset } |
Eigenschaften
|
|
Öffentliche Funktionen
| QCamera(QObject *parent = nullptr) | |
| QCamera(QCameraDevice::Position position, QObject *parent = nullptr) | |
| QCamera(const QCameraDevice &cameraDevice, QObject *parent = nullptr) | |
| virtual | ~QCamera() override |
| QCameraDevice | cameraDevice() const |
| QCameraFormat | cameraFormat() const |
| QMediaCaptureSession * | captureSession() const |
| int | colorTemperature() const |
| QPointF | customFocusPoint() const |
| QCamera::Error | error() const |
| QString | errorString() const |
| float | exposureCompensation() const |
| QCamera::ExposureMode | exposureMode() const |
| float | exposureTime() const |
| QCamera::FlashMode | flashMode() const |
| float | focusDistance() const |
| QCamera::FocusMode | focusMode() const |
| QPointF | focusPoint() const |
| bool | isActive() const |
| bool | isAvailable() const |
| bool | isExposureModeSupported(QCamera::ExposureMode mode) const |
| bool | isFlashModeSupported(QCamera::FlashMode mode) const |
| bool | isFlashReady() const |
| bool | isFocusModeSupported(QCamera::FocusMode mode) const |
| bool | isTorchModeSupported(QCamera::TorchMode mode) const |
| bool | isWhiteBalanceModeSupported(QCamera::WhiteBalanceMode mode) const |
| int | isoSensitivity() const |
| float | manualExposureTime() const |
| int | manualIsoSensitivity() const |
| float | maximumExposureTime() const |
| int | maximumIsoSensitivity() const |
| float | maximumZoomFactor() const |
| float | minimumExposureTime() const |
| int | minimumIsoSensitivity() const |
| float | minimumZoomFactor() const |
| void | setCameraDevice(const QCameraDevice &cameraDevice) |
| void | setCameraFormat(const QCameraFormat &format) |
| void | setCustomFocusPoint(const QPointF &point) |
| void | setFocusDistance(float d) |
| void | setFocusMode(QCamera::FocusMode mode) |
| void | setZoomFactor(float factor) |
| QCamera::Features | supportedFeatures() const |
| QCamera::TorchMode | torchMode() const |
| QCamera::WhiteBalanceMode | whiteBalanceMode() const |
| float | zoomFactor() const |
Öffentliche Slots
| void | setActive(bool active) |
| void | setAutoExposureTime() |
| void | setAutoIsoSensitivity() |
| void | setColorTemperature(int colorTemperature) |
| void | setExposureCompensation(float ev) |
| void | setExposureMode(QCamera::ExposureMode mode) |
| void | setFlashMode(QCamera::FlashMode mode) |
| void | setManualExposureTime(float seconds) |
| void | setManualIsoSensitivity(int iso) |
| void | setTorchMode(QCamera::TorchMode mode) |
| void | setWhiteBalanceMode(QCamera::WhiteBalanceMode mode) |
| void | start() |
| void | stop() |
| void | zoomTo(float factor, float rate) |
Signale
| void | activeChanged(bool) |
| void | cameraDeviceChanged() |
| void | cameraFormatChanged() |
| void | colorTemperatureChanged() const |
| void | customFocusPointChanged() |
| void | errorChanged() |
| void | errorOccurred(QCamera::Error error, const QString &errorString) |
| void | exposureCompensationChanged(float value) |
| void | exposureModeChanged() |
| void | exposureTimeChanged(float speed) |
| void | flashModeChanged() |
| void | flashReady(bool ready) |
| void | focusDistanceChanged(float) |
| void | focusModeChanged() |
| void | focusPointChanged() |
| void | isoSensitivityChanged(int value) |
| void | manualExposureTimeChanged(float speed) |
| void | manualIsoSensitivityChanged(int) |
| void | maximumZoomFactorChanged(float) |
| void | minimumZoomFactorChanged(float) |
| void | supportedFeaturesChanged() |
| void | torchModeChanged() |
| void | whiteBalanceModeChanged() const |
| void | zoomFactorChanged(float) |
Ausführliche Beschreibung
QCamera kann innerhalb eines „ QMediaCaptureSession “ zur Videoaufzeichnung und Bildaufnahme verwendet werden.
Mit „ QCameraDevice “ können Sie verfügbare Kameras auflisten und auswählen, welche verwendet werden soll.
const QList<QCameraDevice> cameras = QMediaDevices::videoInputs();
for (const QCameraDevice &cameraDevice : cameras) {
if (cameraDevice.description() == "mycamera")
camera = new QCamera(cameraDevice);
}Auf Hardware, die dies unterstützt, können Sie mit „ QCamera “ den Fokus und den Zoom einstellen. Die Eigenschaften „ minimumZoomFactor “ und „ maximumZoomFactor “ geben den Bereich der unterstützten Zoomfaktoren an. Mit der Eigenschaft „ zoomFactor “ lässt sich der Zoomfaktor ändern.
camera->setZoomFactor(camera->maximumZoomFactor()); // zoom in as much as possibleNach 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 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->setWhiteBalanceMode(QCamera::WhiteBalanceManual);
camera->setColorTemperature(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 Klasse „ QCameraPermission “ 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.
qApp->requestPermission(QCameraPermission{}, [](const QPermission &permission) {
if (permission.status() == Qt::PermissionStatus::Granted)
camera->setActive(true);
});Weitere Informationen finden Sie in der Kameraübersicht.
Hinweis: Auf der WebAssembly-Plattform wird aufgrund ihres asynchronen Charakters das Signal „ QMediaDevices::videoInputsChanged()“ ausgegeben, sobald die Liste der Videoeingänge bereitsteht. Es sind Benutzerberechtigungen erforderlich. Funktioniert nur in sicheren HTTPS-Kontexten.
Dokumentation zum Mitgliedstyp
enum QCamera::Error
Diese Enumeration enthält den letzten Fehlercode.
| Konstante | Wert | Beschreibung |
|---|---|---|
QCamera::NoError | 0 | Es sind keine Fehler aufgetreten. |
QCamera::CameraError | 1 | Es ist ein Fehler aufgetreten. |
enum QCamera::ExposureMode
| Konstante | Wert | Beschreibung |
|---|---|---|
QCamera::ExposureAuto | 0 | Automatikmodus. |
QCamera::ExposureManual | 1 | Manueller Modus. |
QCamera::ExposurePortrait | 2 | Porträt-Belichtungsmodus. |
QCamera::ExposureNight | 3 | Nachtmodus. |
QCamera::ExposureSports | 4 | Spot-Belichtungsmodus. |
QCamera::ExposureSnow | 5 | Belichtungsmodus „Schnee“. |
QCamera::ExposureBeach | 6 | Strand-Belichtungsmodus. |
QCamera::ExposureAction | 7 | Action-Modus. Ab Version 5.5 |
QCamera::ExposureLandscape | 8 | Landschaftsmodus. Ab Version 5.5 |
QCamera::ExposureNightPortrait | 9 | Nachtporträt-Modus. Seit 5.5 |
QCamera::ExposureTheatre | 10 | Theater-Modus. Ab 5.5 |
QCamera::ExposureSunset | 11 | Sonnenuntergangsmodus. Ab 5.5 |
QCamera::ExposureSteadyPhoto | 12 | Verwacklungsfreier Fotomodus. Seit 5.5 |
QCamera::ExposureFireworks | 13 | Feuerwerksmodus. Seit 5.5 |
QCamera::ExposureParty | 14 | Party-Modus. Seit 5.5 |
QCamera::ExposureCandlelight | 15 | Kerzenlicht-Modus. Seit 5.5 |
QCamera::ExposureBarcode | 16 | Barcode-Modus. Seit 5.5 |
enum class QCamera::Feature
flags QCamera::Features
Beschreibt eine Reihe von Funktionen, die von der Kamera unterstützt werden. Der zurückgegebene Wert kann eine Kombination aus folgenden Elementen sein:
| Konstante | Wert | Beschreibung |
|---|---|---|
QCamera::Feature::ColorTemperature | 0x1 | Die Kamera unterstützt die Einstellung eines benutzerdefinierten „ colorTemperature “. |
QCamera::Feature::ExposureCompensation | 0x2 | Die Kamera unterstützt die Einstellung eines benutzerdefinierten „ exposureCompensation “. |
QCamera::Feature::IsoSensitivity | 0x4 | Die Kamera unterstützt die Einstellung eines benutzerdefinierten „ isoSensitivity “. |
QCamera::Feature::ManualExposureTime | 0x8 | Die Kamera unterstützt die Einstellung einer „ manual exposure Time “. |
QCamera::Feature::CustomFocusPoint | 0x10 | Die Kamera unterstützt die Einstellung einer „ custom focus point “. |
QCamera::Feature::FocusDistance | 0x20 | Die Kamera unterstützt die Einstellung der Eigenschaft „ focusDistance “. |
Der Typ „Features“ ist ein typedef für QFlags<Feature>. Er speichert eine ODER-Kombination von Feature-Werten.
enum QCamera::FlashMode
| Konstante | Wert | Beschreibung |
|---|---|---|
QCamera::FlashOff | 0 | Blitz ist ausgeschaltet. |
QCamera::FlashOn | 1 | Blitz ist eingeschaltet. |
QCamera::FlashAuto | 2 | Automatischer Blitz. |
enum QCamera::FocusMode
| Konstante | Wert | Beschreibung |
|---|---|---|
QCamera::FocusModeAuto | 0 | Kontinuierlicher Autofokus-Modus. |
QCamera::FocusModeAutoNear | 1 | Kontinuierlicher Autofokus-Modus bei nahen Objekten. |
QCamera::FocusModeAutoFar | 2 | Kontinuierlicher Autofokus-Modus bei weit entfernten Objekten. |
QCamera::FocusModeHyperfocal | 3 | Fokussierung auf die Hyperfokaldistanz, wobei die maximale Schärfentiefe erreicht wird. Alle Objekte in Entfernungen von der Hälfte dieser Distanz bis unendlich werden akzeptabel scharf abgebildet. |
QCamera::FocusModeInfinity | 4 | Fokussierung ausschließlich auf Unendlichkeit. |
QCamera::FocusModeManual | 5 | Die Fokusentfernung des Kameraobjektivs wird gemäß focusDistance fixiert. |
enum QCamera::TorchMode
| Konstante | Wert | Beschreibung |
|---|---|---|
QCamera::TorchOff | 0 | Die Taschenlampe ist ausgeschaltet. |
QCamera::TorchOn | 1 | Der Brenner ist eingeschaltet. |
QCamera::TorchAuto | 2 | Automatischer Brenner. |
enum QCamera::WhiteBalanceMode
| Konstante | Wert | Beschreibung |
|---|---|---|
QCamera::WhiteBalanceAuto | 0 | Automatischer Weißabgleich-Modus. |
QCamera::WhiteBalanceManual | 1 | Manueller Weißabgleich. In diesem Modus sollte der Weißabgleich mit „ setColorTemperature “ () eingestellt werden |
QCamera::WhiteBalanceSunlight | 2 | Weißabgleichsmodus „Sonnenlicht“. |
QCamera::WhiteBalanceCloudy | 3 | Weißabgleich-Modus „Bewölkt“. |
QCamera::WhiteBalanceShade | 4 | Weißabgleich-Modus „Schatten“. |
QCamera::WhiteBalanceTungsten | 5 | Weißabgleich-Modus „Glühlampe“. |
QCamera::WhiteBalanceFluorescent | 6 | Weißabgleich-Modus „Leuchtstofflampe“. |
QCamera::WhiteBalanceFlash | 7 | Weißabgleich-Modus „Blitz“. |
QCamera::WhiteBalanceSunset | 8 | Weißabgleichmodus „Sonnenuntergang“. |
Dokumentation zu den Eigenschaften
active : bool
Gibt an, ob die Kamera derzeit aktiv ist.
Zugriffsfunktionen:
Benachrichtigungssignal:
| void | activeChanged(bool) |
cameraDevice : QCameraDevice
Gibt das mit dieser Kamera verknüpfte „ QCameraDevice “-Objekt zurück.
Beim Wechseln der Kamerageräte werden die Funktionen des „ QCamera “ aktualisiert. Zudem werden die Steuerungseigenschaften des „ QCamera “ (wie z. B. „ focusMode “, „ flashMode “, „ focusDistance “ und „ 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 ihr gültiger Wertebereich jedoch geändert hat, wird die Eigenschaft auf den neuen Wertebereich 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.
Zugriffsfunktionen:
| QCameraDevice | cameraDevice() const |
| void | setCameraDevice(const QCameraDevice &cameraDevice) |
Benachrichtigungssignal:
| void | cameraDeviceChanged() |
cameraFormat : QCameraFormat
Gibt das derzeit von der Kamera verwendete Kameraformat zurück.
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 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 berücksichtigen, dass sie Videobilder mit einer anderen Auflösung, einem anderen Pixelformat und einer anderen Bildrate erhalten können als in dieser Eigenschaft beschrieben. 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 durch erneutes Aktivieren des „ QCamera “ wieder auf das Gerät angewendet werden.
Zugriffsfunktionen:
| QCameraFormat | cameraFormat() const |
| void | setCameraFormat(const QCameraFormat &format) |
Benachrichtigungssignal:
| void | cameraFormatChanged() |
Siehe auch „ QCameraDevice::videoFormats “.
colorTemperature : int
Gibt die aktuelle Farbtemperatur zurück, wenn der aktuelle Weißabgleichmodus „ WhiteBalanceManual “ ist. Bei anderen Modi ist der Rückgabewert undefiniert.
Zugriffsfunktionen:
| int | colorTemperature() const |
| void | setColorTemperature(int colorTemperature) |
Benachrichtigungssignal:
| void | colorTemperatureChanged() const |
customFocusPoint : QPointF
Diese Eigenschaft gibt die Position des benutzerdefinierten Fokuspunkts in relativen Rahmenkoordinaten an: QPointF(0,0) verweist auf den oberen linken Eckpunkt des Rahmens, QPointF(0,5,0,5) verweist auf die Mitte des Rahmens.
Sie können überprüfen, ob benutzerdefinierte Fokuspunkte unterstützt werden, indem Sie supportedFeatures() mit dem Flag „Feature.CustomFocusPoint “ abfragen.
Zugriffsfunktionen:
| QPointF | customFocusPoint() const |
| void | setCustomFocusPoint(const QPointF &point) |
Benachrichtigungssignal:
| void | customFocusPointChanged() |
[read-only] error : Error
Gibt den Fehlerstatus der Kamera zurück.
Zugriffsfunktionen:
| QCamera::Error | error() const |
Benachrichtigungssignal:
| void | errorChanged() |
Siehe auch „ QCamera::Error “.
[read-only] errorString : QString
Gibt eine für Menschen lesbare Zeichenfolge zurück, die den Fehlerzustand einer Kamera beschreibt.
Zugriffsfunktionen:
| QString | errorString() const |
Benachrichtigungssignal:
| void | errorChanged() |
exposureCompensation : float
Belichtungskorrektur in EV-Einheiten.
Mit der Belichtungskorrektur können Sie die automatisch berechnete Belichtung anpassen.
Zugriffsfunktionen:
| float | exposureCompensation() const |
| void | setExposureCompensation(float ev) |
Benachrichtigungssignal:
| void | exposureCompensationChanged(float value) |
exposureMode : QCamera::ExposureMode
Diese Eigenschaft enthält den aktuell verwendeten Belichtungsmodus.
Zugriffsfunktionen:
| QCamera::ExposureMode | exposureMode() const |
| void | setExposureMode(QCamera::ExposureMode mode) |
Benachrichtigungssignal:
| void | exposureModeChanged() |
Siehe auch „ QCamera::isExposureModeSupported “.
[read-only] exposureTime : float
Belichtungszeit der Kamera in Sekunden.
Zugriffsfunktionen:
| float | exposureTime() const |
Benachrichtigungssignal:
| void | exposureTimeChanged(float speed) |
Siehe auch minimumExposureTime(), maximumExposureTime() und setManualExposureTime().
flashMode : QCamera::FlashMode
Diese Eigenschaft enthält den aktuell verwendeten Blitzmodus.
Aktiviert einen bestimmten Blitzmodus, 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 QImageCapture
Zugriffsfunktionen:
| QCamera::FlashMode | flashMode() const |
| void | setFlashMode(QCamera::FlashMode mode) |
Benachrichtigungssignal:
| void | flashModeChanged() |
Siehe auch „ QCamera::FlashMode “, „ QCamera::isFlashModeSupported “ und „ QCamera::isFlashReady “.
[read-only] flashReady : bool
Zeigt an, ob der Blitz aufgeladen und einsatzbereit ist.
Zugriffsfunktionen:
| bool | isFlashReady() const | [see note below] |
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
Notifier-Signal:
| void | flashReady(bool ready) |
focusDistance : float
Diese Eigenschaft legt die Fokusentfernung des Objektivs fest, wenn sich das Kameragerät im manuellen Fokusmodus befindet. Gültige Werte liegen zwischen 0 und 1, wobei 0 die kürzestmögliche Fokusentfernung und 1 die weiteste darstellt. Der am weitesten entfernte Punkt liegt in der Regel im Unendlichen, was jedoch möglicherweise nicht für alle Geräte zutrifft.
Diese Eigenschaft wird nur dann auf das Gerät angewendet, wenn „ focusMode “ auf „ FocusModeManual “ gesetzt ist und „ supportedFeatures “ das Flag „ Feature::FocusDistance “ enthält.
Wenn Sie dieser Eigenschaft einen Wert zuweisen, während „ focusMode “ nicht auf „ QCamera::FocusModeManual “ gesetzt ist, speichert die Eigenschaft den Wert, wirkt sich jedoch erst auf das Gerät aus, sobald „ QCamera::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 „ FocusDistance “ nicht enthält, wird jeder Versuch, diese Eigenschaft festzulegen, ignoriert.
Diese Eigenschaft wird von der Kamera nicht aktualisiert, wenn sie sich im Autofokus-Modus befindet.
Der Standardwert ist 1.
Zugriffsfunktionen:
| float | focusDistance() const |
| void | setFocusDistance(float d) |
Benachrichtigungssignal:
| void | focusDistanceChanged(float) |
focusMode : FocusMode
Diese Eigenschaft enthält den aktuellen Fokusmodus der Kamera.
Diese Eigenschaft enthält den Wert, der den Fokusmodus für das Kameragerät steuert. In allen Autofokus-Modi fokussiert das Kameragerät kontinuierlich.
Um zu prüfen, ob das Kameragerät einen bestimmten Fokusmodus unterstützt, übergeben Sie den entsprechenden Wert von „ FocusMode “ als Parameter an die Funktion „ isFocusModeSupported “. Die Funktion gibt „false“ zurück, wenn der Fokusmoduswert nicht unterstützt wird. Die Zuweisung eines nicht unterstützten Modus zu dieser Eigenschaft hat keine Auswirkung.
Wenn Sie die Eigenschaft „focusMode“ auf „ QCamera::FocusModeManual “ setzen, wird der Fokus des Objektivs gemäß „ focusDistance “ arretiert.
Zugriffsfunktionen:
| QCamera::FocusMode | focusMode() const |
| void | setFocusMode(QCamera::FocusMode mode) |
Notifier-Signal:
| void | focusModeChanged() |
Siehe auch ` isFocusModeSupported()`.
[read-only] focusPoint : QPointF
Gibt den Punkt zurück, auf den das Autofokus-System derzeit fokussiert.
Zugriffsfunktionen:
| QPointF | focusPoint() const |
Benachrichtigungssignal:
| void | focusPointChanged() |
[read-only] isoSensitivity : int
Diese Eigenschaft enthält die ISO-Empfindlichkeit des Sensors.
Beschreibt die derzeit von der Kamera verwendete ISO-Empfindlichkeit.
Zugriffsfunktionen:
| int | isoSensitivity() const |
Benachrichtigungssignal:
| void | isoSensitivityChanged(int value) |
Siehe auch setAutoIsoSensitivity() und setManualIsoSensitivity().
manualExposureTime : float
Stellen Sie die manuelle Belichtungszeit auf seconds
Zugriffsfunktionen:
| float | manualExposureTime() const |
| void | setManualExposureTime(float seconds) |
Benachrichtigungssignal:
| void | manualExposureTimeChanged(float speed) |
manualIsoSensitivity : int
Beschreibt eine manuell eingestellte ISO-Empfindlichkeit
Wird diese Eigenschaft auf -1 (Standardwert) gesetzt, passt die Kamera die ISO-Empfindlichkeit automatisch an.
Zugriffsfunktionen:
| int | manualIsoSensitivity() const |
| void | setManualIsoSensitivity(int iso) |
Benachrichtigungssignal:
| void | manualIsoSensitivityChanged(int) |
[read-only] maximumZoomFactor : float
Gibt den maximalen Zoomfaktor zurück.
Bei Kameras, die kein Zoomen unterstützen, ist dies „ 1.0 “.
Zugriffsfunktionen:
| float | maximumZoomFactor() const |
Benachrichtigungssignal:
| void | maximumZoomFactorChanged(float) |
[read-only] minimumZoomFactor : float
Gibt den minimalen Zoomfaktor zurück.
Bei Kameras, die kein Zoomen unterstützen, ist dies „ 1.0 “.
Zugriffsfunktionen:
| float | minimumZoomFactor() const |
Notifier-Signal:
| void | minimumZoomFactorChanged(float) |
[read-only] supportedFeatures : Features
Gibt die von dieser Kamera unterstützten Funktionen zurück.
Zugriffsfunktionen:
| QCamera::Features | supportedFeatures() const |
Benachrichtigungssignal:
| void | supportedFeaturesChanged() |
Siehe auch „ QCamera::Feature “.
torchMode : QCamera::TorchMode
Diese Eigenschaft speichert den aktuell verwendeten Taschenlampenmodus.
Eine Taschenlampe ist eine kontinuierliche Lichtquelle. 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.
Zugriffsfunktionen:
| QCamera::TorchMode | torchMode() const |
| void | setTorchMode(QCamera::TorchMode mode) |
Benachrichtigungssignal:
| void | torchModeChanged() |
Siehe auch QCamera::TorchMode, QCamera::isTorchModeSupported und QCamera::flashMode.
whiteBalanceMode : WhiteBalanceMode
Gibt den aktuell verwendeten Weißabgleichmodus zurück.
Zugriffsfunktionen:
| QCamera::WhiteBalanceMode | whiteBalanceMode() const |
| void | setWhiteBalanceMode(QCamera::WhiteBalanceMode mode) |
Benachrichtigungssignal:
| void | whiteBalanceModeChanged() const |
zoomFactor : float
Diese Eigenschaft enthält den aktuellen Zoomfaktor.
Ruft den aktuellen Zoomfaktor ab oder legt ihn fest. Die Werte werden auf den Bereich zwischen minimumZoomFactor und maximumZoomFactor begrenzt.
Zugriffsfunktionen:
| float | zoomFactor() const |
| void | setZoomFactor(float factor) |
Benachrichtigungssignal:
| void | zoomFactorChanged(float) |
Dokumentation der Member-Funktionen
[explicit] QCamera::QCamera(QObject *parent = nullptr)
Erstellen Sie eine QCamera mit einem „ parent “.
Wählt die Standardkamera des Systems aus, wenn mehr als eine Kamera verfügbar ist.
[explicit] QCamera::QCamera(QCameraDevice::Position position, QObject *parent = nullptr)
Erstellen Sie eine QCamera, die eine Hardware-Kamera verwendet, die sich an der angegebenen Adresse position befindet.
Auf einem Mobiltelefon kann dies beispielsweise dazu verwendet werden, ganz einfach zwischen der Front- und der Rückkamera zu wechseln.
Wenn unter der angegebenen Adresse „ position “ keine Kamera verfügbar ist oder wenn „ position “ den Wert „ QCameraDevice::UnspecifiedPosition “ hat, wird die Standardkamera verwendet.
[explicit] QCamera::QCamera(const QCameraDevice &cameraDevice, QObject *parent = nullptr)
Erstellen Sie eine QCamera anhand einer Kamerabeschreibung unter cameraDevice und parent.
[override virtual noexcept] QCamera::~QCamera()
Löscht das Kameraobjekt.
QMediaCaptureSession *QCamera::captureSession() const
Gibt die Aufnahmesitzung zurück, mit der diese Kamera verbunden ist, oder einen `nullptr`, falls die Kamera nicht mit einer Aufnahmesitzung verbunden ist.
Verwenden Sie ` QMediaCaptureSession::setCamera()`, um die Kamera mit einer Sitzung zu verbinden.
[signal] void QCamera::errorOccurred(QCamera::Error error, const QString &errorString)
Dieses Signal wird ausgegeben, wenn sich der Fehlerstatus auf „ error “ ändert. Eine Beschreibung des Fehlers wird unter „ errorString “ bereitgestellt.
[signal] void QCamera::exposureCompensationChanged(float value)
Signal, das ausgegeben wird, wenn sich die Belichtungskorrektur auf „ value “ ändert.
Hinweis: Benachrichtigungssignal für die Eigenschaft „ exposureCompensation “.
float QCamera::exposureTime() const
Gibt die aktuelle Belichtungszeit in Sekunden zurück.
Hinweis: Getter -Funktion für die Eigenschaft „exposureTime“.
[signal] void QCamera::exposureTimeChanged(float speed)
Signalisiert, dass sich die Belichtungs speed en einer Kamera geändert haben.
Hinweis: Benachrichtigungssignal für die Eigenschaft „ exposureTime “.
[signal] void QCamera::flashReady(bool ready)
Signalisiert, dass sich der Status von „flash ready “ geändert hat.
Hinweis: Benachrichtigungssignal für die Eigenschaft „flashReady“.
[signal] void QCamera::focusModeChanged()
Gibt ein Signal aus, wenn sich die Eigenschaft „ focusMode “ ändert.
Hinweis: Notifier -Signal für die Eigenschaft „ focusMode “.
bool QCamera::isActive() const
Gibt „true“ zurück, wenn die Kamera derzeit aktiv ist.
Hinweis: Getter -Funktion für die Eigenschaft „ active “.
bool QCamera::isAvailable() const
Gibt „true“ zurück, wenn die Kamera verwendet werden kann.
[invokable] bool QCamera::isExposureModeSupported(QCamera::ExposureMode mode) const
Gibt „true“ zurück, wenn die Belichtungs mode unterstützt wird.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[invokable] bool QCamera::isFlashModeSupported(QCamera::FlashMode mode) const
Gibt „true“ zurück, wenn das Flash- mode “ unterstützt wird.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[invokable] bool QCamera::isFlashReady() const
Gibt „true“ zurück, wenn der Blitz aufgeladen ist.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
Hinweis: Getter -Funktion für die Eigenschaft „ flashReady “.
[invokable] bool QCamera::isFocusModeSupported(QCamera::FocusMode mode) const
Gibt „ true “ zurück, wenn die Fokusfunktion „ mode “ von der Kamera unterstützt wird.
Wird „ FocusModeManual “ als unterstützt gemeldet, wird davon ausgegangen, dass auch die Funktion „ Feature::FocusDistance “ unterstützt wird.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[invokable] bool QCamera::isTorchModeSupported(QCamera::TorchMode mode) const
Gibt „true“ zurück, wenn die Torch- mode unterstützt wird.
Hinweis: Diese Funktion kann über das Metaobjekt-System und aus QML heraus aufgerufen werden. Siehe Q_INVOKABLE.
[invokable] bool QCamera::isWhiteBalanceModeSupported(QCamera::WhiteBalanceMode mode) const
Gibt „true“ zurück, wenn der Weißabgleich- mode us unterstützt wird.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[signal] void QCamera::isoSensitivityChanged(int value)
Signal, das ausgegeben wird, wenn sich die Empfindlichkeit auf „ value “ ändert.
Hinweis: Benachrichtigungssignal für die Eigenschaft isoSensitivity.
float QCamera::manualExposureTime() const
Gibt die manuelle Belichtungszeit in Sekunden zurück oder -1, wenn die Kamera automatische Belichtungszeiten verwendet.
Hinweis: Getter -Funktion für die Eigenschaft `manualExposureTime`.
Siehe auch „ setManualExposureTime()“.
float QCamera::maximumExposureTime() const
Die maximale Belichtungszeit in Sekunden.
int QCamera::maximumIsoSensitivity() const
Gibt die höchste von der Kamera unterstützte ISO-Empfindlichkeit zurück.
float QCamera::minimumExposureTime() const
Die minimale Belichtungszeit in Sekunden.
int QCamera::minimumIsoSensitivity() const
Gibt die niedrigste von der Kamera unterstützte ISO-Empfindlichkeit zurück.
[slot] void QCamera::setActive(bool active)
Schaltet die Kamera ein, wenn „ active “ auf „ true “ gesetzt ist, oder aus, wenn sie auf „ false “ gesetzt ist.
Hinweis: Setter -Funktion für die Eigenschaft „ active “.
Siehe auch isActive().
[slot] void QCamera::setAutoExposureTime()
Automatisch berechnete Belichtungszeit verwenden
[slot] void QCamera::setAutoIsoSensitivity()
Automatische Empfindlichkeit aktivieren
void QCamera::setCameraDevice(const QCameraDevice &cameraDevice)
Verbindet das Kameraobjekt mit dem physischen Kameragerät, das durch ` cameraDevice` beschrieben wird. Durch die Verwendung eines standardmäßig erstellten ` QCameraDevice `-Objekts als ` cameraDevice ` wird die Kamera mit dem Standardkameragerät des Systems verbunden.
Beim Wechseln des Kamerageräts werden die Funktionen von ` QCamera` aktualisiert. Zudem werden die Steuerungseigenschaften von ` QCamera` (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 ihr gültiger Wertebereich jedoch geändert hat, wird die Eigenschaft auf den neuen Wertebereich 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.
Hinweis: Setter -Funktion für die Eigenschaft cameraDevice.
Siehe auch ` cameraDevice()`.
void QCamera::setCameraFormat(const QCameraFormat &format)
Weist die Kamera an, das unter format beschriebene Format zu verwenden. Damit lassen sich eine bestimmte Auflösung und Bildrate für die Aufzeichnung und Bildaufnahme festlegen.
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: Setter -Funktion für die Eigenschaft „ cameraFormat “.
Siehe auch ` cameraFormat()`.
[slot] void QCamera::setColorTemperature(int colorTemperature)
Stellt den manuellen Weißabgleich auf „ colorTemperature “ ein. Dies wird verwendet, wenn „ whiteBalanceMode()“ auf „ WhiteBalanceManual “ gesetzt ist. Die Einheit ist Kelvin.
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.
Hinweis: Setter -Funktion für die Eigenschaft „ colorTemperature “.
Siehe auch „ colorTemperature()“.
[slot] void QCamera::setWhiteBalanceMode(QCamera::WhiteBalanceMode mode)
Stellt den Weißabgleich auf „ mode “ ein.
Hinweis: Setter -Funktion für die Eigenschaft „ whiteBalanceMode “.
Siehe auch „ whiteBalanceMode()“.
void QCamera::setZoomFactor(float factor)
Zoomt auf den Zoomfaktor factor mit einer Geschwindigkeit von 1 Faktor pro Sekunde.
Hinweis: Setter -Funktion für die Eigenschaft zoomFactor.
Siehe auch zoomFactor().
[slot] void QCamera::start()
Startet die Kamera.
Entspricht „ setActive(true)“.
Wenn die Kamera aus irgendeinem Grund nicht gestartet werden kann, wird das Signal „ errorOccurred()“ ausgelöst.
[slot] void QCamera::stop()
Hält die Kamera an. Entspricht „ setActive “ (false).
[slot] void QCamera::zoomTo(float factor, float 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.