Camera QML Type
Una interfaz para los ajustes de la cámara relacionados con el enfoque y el zoom. Más...
| Import Statement: | import QtMultimedia |
| In C++: | QCamera |
Propiedades
- 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
Señales
- void errorOccurred(Camera::Error error, string errorString)
Métodos
- 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)
Descripción detallada
El elemento Cámara puede utilizarse dentro de CaptureSession para la grabación de vídeo y la toma de imágenes.
Puedes utilizar MediaDevices para listar las cámaras disponibles y elegir cuál utilizar.
MediaDevices {
id: mediaDevices
}
CaptureSession {
camera: Camera {
cameraDevice: mediaDevices.defaultVideoInput
}
}En el hardware que lo soporta, Camera permite ajustar el enfoque y el zoom. Las propiedades minimumZoomFactor y maximumZoomFactor proporcionan el rango de factores de zoom soportados. La propiedad zoomFactor permite cambiar el factor de zoom.
Camera { zoomFactor: maximumZoomFactor // zoom in as much as possible }
Tras capturar los datos en bruto de un fotograma de la cámara, el hardware y el software de la cámara realizan varias tareas de procesamiento de imágenes para producir la imagen final. Esto incluye compensar el color de la luz ambiental, reducir el ruido, así como realizar otros ajustes en la imagen.
Puede controlar muchos de estos pasos de procesamiento a través de las propiedades de la cámara. Por ejemplo, puede establecer el balance de blancos (o temperatura de color) utilizado para procesar las imágenes:
Camera { whiteBalanceMode: Camera.WhiteBalanceManual colorTemperature: 5600 }
Para obtener más información sobre el procesamiento de imágenes de fotogramas de cámara, consulte Procesamiento de imágenes de cámara.
La mayoría de las plataformas requieren que el usuario final conceda permisos antes de poder activar una cámara. Por lo tanto, se recomienda encarecidamente que los desarrolladores de aplicaciones utilicen el componente CameraPermission cuando trabajen con cámaras. A continuación se muestra un breve ejemplo que solicita permisos al usuario final cuando se inicia la aplicación y, a continuación, activa la cámara si se conceden los permisos.
CameraPermission {
id: cameraPermission
}
Camera {
active: cameraPermission.status === Qt.PermissionStatus.Granted
}
Component.onCompleted: cameraPermission.request()Consulte la descripción general de la cámara para obtener más información.
Documentación de propiedades
active : bool
Describe si la cámara está actualmente activa.
cameraDevice : cameraDevice
Obtiene o establece el dispositivo de cámara activo en ese momento.
Al cambiar de dispositivo de cámara, se actualizan las capacidades de Camera. Además, las propiedades de control de Camera(como focusMode, flashMode, focusDistance, zoomFactor) se actualizan del siguiente modo:
- Si una propiedad es compatible con el nuevo dispositivo, el valor de la propiedad se aplica al dispositivo de la cámara.
- Si una propiedad es compatible pero su rango de valores válidos ha cambiado, la propiedad se ajusta al nuevo rango y se aplica al dispositivo de la cámara.
- Si el nuevo dispositivo de cámara no admite una propiedad, el valor de la propiedad se restablece al valor predeterminado y no se realiza ningún cambio en el dispositivo de cámara.
cameraFormat : cameraFormat
Obtiene o establece el formato de cámara activo actualmente.
Nota: Al utilizar el backend FFMPEG en un dispositivo de destino Android, si solicita el formato YUV420P, recibirá un YUV420P 4:2:0 totalmente planar o un NV12/NV21 semiplanar. Esto depende del códec implementado por el OEM del dispositivo.
Nota: En macOS, los dispositivos de cámara se comparten entre varias aplicaciones del sistema operativo. Esto significa que otra aplicación puede anular el formato establecido por esta propiedad. Los desarrolladores de aplicaciones deben tener en cuenta la recepción de fotogramas de vídeo que tengan una resolución, un formato de píxel y una velocidad de fotogramas diferentes a los descritos por esta propiedad. Esta propiedad no cambia cuando el formato del dispositivo es modificado por otra aplicación. El formato descrito por esta propiedad puede volver a aplicarse al dispositivo volviendo a activar Camera.
Véase también cameraDevice::videoFormats.
colorTemperature : int
Obtiene o establece la temperatura de color actual.
Establecer una temperatura de color sólo tendrá efecto si WhiteBalanceManual está soportado. En este caso, si se establece una temperatura mayor que 0, el modo de balance de blancos se establecerá automáticamente en WhiteBalanceManual. Establecer la temperatura a 0 restablecerá el modo de balance de blancos a WhiteBalanceAuto.
customFocusPoint : point
Esta propiedad contiene la posición del punto de enfoque personalizado, en coordenadas relativas del marco. Esto significa que QPointF(0,0) apunta a la esquina superior izquierda del cuadro, y QPointF(0.5,0.5) apunta al centro del cuadro.
Puede comprobar si se admiten puntos de enfoque personalizados consultando supportedFeatures() con el indicador Feature.CustomFocusPoint.
error : enumeration [read-only]
Devuelve el estado de error de la cámara.
| Constante | Descripción |
|---|---|
Camera.NoError | No se ha producido ningún error. |
Camera.CameraError | Se ha producido un error. |
errorString : string [read-only]
Devuelve una cadena legible por humanos que describe el estado de error de una cámara.
exposureCompensation : real
Obtiene o establece la compensación de exposición en unidades EV.
La propiedad Compensación de exposición permite ajustar la exposición calculada automáticamente.
exposureMode : enumeration
El modo de exposición utilizado.
| Constante | Descripción |
|---|---|
Camera.ExposureAuto | Modo automático. |
Camera.ExposureManual | Modo manual. |
Camera.ExposurePortrait | Modo de exposición Retrato. |
Camera.ExposureNight | Modo nocturno. |
Camera.ExposureSports | Modo de exposición Spots. |
Camera.ExposureSnow | Modo de exposición Nieve. |
Camera.ExposureBeach | Modo de exposición Playa. |
Camera.ExposureAction | Modo acción. Desde 5.5 |
Camera.ExposureLandscape | Modo Paisaje. Desde 5.5 |
Camera.ExposureNightPortrait | Modo retrato nocturno. Desde 5.5 |
Camera.ExposureTheatre | Modo teatro. Desde 5.5 |
Camera.ExposureSunset | Modo puesta de sol. Desde 5.5 |
Camera.ExposureSteadyPhoto | Modo foto fija. Desde 5.5 |
Camera.ExposureFireworks | Modo fuegos artificiales. Desde 5.5 |
Camera.ExposureParty | Modo Fiesta. Desde 5.5 |
Camera.ExposureCandlelight | Modo Velas. Desde 5.5 |
Camera.ExposureBarcode | Modo Código de barras. Desde 5.5 |
Véase también isExposureModeSupported().
exposureTime : real [read-only]
Devuelve el tiempo de exposición de la cámara en segundos.
Véase también manualExposureTime.
flashMode : enumeration
Obtiene o establece un determinado modo de flash si la cámara tiene flash.
Asignar un modo no soportado a esta propiedad no tiene efecto.
Esta propiedad sólo tiene efecto cuando se capturan imágenes utilizando ImageCapture
| Constante | Descripción |
|---|---|
Camera.FlashOff | Flash desactivado. |
Camera.FlashOn | Flash activado. |
Camera.FlashAuto | Flash automático. |
Véase también isFlashModeSupported(), isFlashReady() y flashReady.
flashReady : bool [read-only]
Indica si el flash está cargado y listo para su uso.
focusDistance : real
Esta propiedad define la distancia de enfoque del objetivo cuando el dispositivo de la cámara funciona en modo de enfoque manual. Los valores válidos van de 0 a 1, donde 0 es la distancia de enfoque más cercana posible y 1 es la más lejana. El punto más lejano suele estar en el infinito, pero puede no ser el caso para todos los dispositivos.
Esta propiedad se aplica al dispositivo sólo cuando focusMode se establece en Camera.FocusModeManual, y supportedFeatures incluye la bandera Camera.FocusDistance.
Si asigna un valor a esta propiedad mientras focusMode no está establecido en Camera.FocusModeManual, la propiedad almacena el valor pero no afecta al dispositivo hasta que Camera.FocusModeManual esté activo.
Asignar un valor fuera del rango válido [0, 1] no tiene efecto sobre esta propiedad.
Si supportedFeatures no incluye la bandera Camera.FocusDistance, cualquier intento de establecer esta propiedad es ignorado.
Esta propiedad no será actualizada por la cámara cuando esté en modo de enfoque automático.
El valor por defecto es 1.
focusMode : enumeration
Esta propiedad contiene el valor que controla el modo de enfoque del dispositivo de la cámara. En todos los modos de enfoque automático, el dispositivo de cámara sigue enfocando continuamente.
Nota: En modos de enfoque automático y donde sea soportado, la propiedad focusPoint proporciona información y control sobre el área de la imagen que está siendo enfocada.
| Constante | Descripción |
|---|---|
Camera.FocusModeAuto | Modo de enfoque automático continuo. |
Camera.FocusModeAutoNear | Enfoque automático continuo, prefiriendo objetos cercanos a la cámara. |
Camera.FocusModeAutoFar | Enfoque automático continuo, prefiriendo objetos alejados de la cámara. |
Camera.FocusModeHyperfocal | Enfoque a distancia hiperfocal, con la máxima profundidad de campo alcanzada. Todos los objetos a distancias comprendidas entre la mitad de esta distancia y el infinito tendrán una nitidez aceptable. |
Camera.FocusModeInfinity | Enfoque estrictamente a infinito. |
Camera.FocusModeManual | La distancia de enfoque del objetivo se ajusta a un valor especificado por focusDistance. |
Para comprobar si el dispositivo de la cámara admite un modo de enfoque concreto, pase el valor focusMode correspondiente a la función isFocusModeSupported() como parámetro. La función devuelve false si el valor del modo de enfoque no es compatible. Asignar un modo no soportado a esta propiedad no tiene ningún efecto.
Si asigna a la propiedad focusMode el valor Camera.FocusModeManual, el objetivo se bloquea al enfoque según focusDistance.
Véase también isFocusModeSupported().
focusPoint : point [read-only]
Devuelve el punto utilizado actualmente por el sistema de enfoque automático para enfocar.
isoSensitivity : int [read-only]
Describe la sensibilidad ISO utilizada actualmente por la cámara.
manualExposureTime : real
Obtiene o establece un tiempo de exposición manual.
Establecer esta propiedad a -1 (por defecto) significa que la cámara determina automáticamente el tiempo de exposición.
manualIsoSensitivity : int
Describe una sensibilidad ISO ajustada manualmente
Establecer esta propiedad a -1 (el valor por defecto), implica que la cámara ajusta automáticamente la sensibilidad ISO.
maximumZoomFactor : real [read-only]
Esta propiedad contiene el factor de zoom máximo soportado.
Será 1.0 en las cámaras que no admitan zoom.
minimumZoomFactor : real [read-only]
Esta propiedad contiene el factor de zoom mínimo soportado.
Será 1.0 en las cámaras que no admitan zoom.
supportedFeatures : enumeration [read-only]
Devuelve las características soportadas por esta cámara. El valor es una máscara de bits que puede contener cualquiera de los siguientes indicadores. Almacena una combinación OR de valores de Características.
| Constante | Descripción |
|---|---|
Camera.ColorTemperature | La cámara admite la configuración de un colorTemperature personalizado. |
Camera.ExposureCompensation | La cámara admite la configuración de un exposureCompensation personalizado. |
Camera.IsoSensitivity | La cámara admite la configuración de un isoSensitivity personalizado. |
Camera.ManualExposureTime | La cámara admite la configuración de manual exposure Time. |
Camera.CustomFocusPoint | La cámara admite la configuración de custom focus point. |
Camera.FocusDistance | La cámara admite la configuración de la propiedad focusDistance. |
torchMode : enumeration
Obtiene o establece el modo de antorcha que se está utilizando.
Una linterna es una fuente continua de luz. Se puede utilizar durante la grabación de vídeo en condiciones de poca luz. Activar el modo antorcha normalmente anulará cualquier modo de flash actualmente configurado.
| Constante | Descripción |
|---|---|
Camera.TorchOff | Antorcha apagada. |
Camera.TorchOn | Antorcha encendida. |
Camera.TorchAuto | Antorcha automática. |
Véase también isTorchModeSupported() y flashMode.
whiteBalanceMode : enumeration
Obtiene o establece el modo de balance de blancos que se está utilizando.
| Constante | Descripción |
|---|---|
Camera.WhiteBalanceAuto | Modo de balance de blancos automático. |
Camera.WhiteBalanceManual | Balance de blancos manual. En este modo el balance de blancos debe establecerse con setColorTemperature() |
Camera.WhiteBalanceSunlight | Modo de balance de blancos luz solar. |
Camera.WhiteBalanceCloudy | Modo de balance de blancos nublado. |
Camera.WhiteBalanceShade | Modo de balance de blancos en sombra. |
Camera.WhiteBalanceTungsten | Modo de balance de blancos de tungsteno (incandescente). |
Camera.WhiteBalanceFluorescent | Modo de balance de blancos fluorescente. |
Camera.WhiteBalanceFlash | Modo de balance de blancos con flash. |
Camera.WhiteBalanceSunset | Modo de balance de blancos al atardecer. |
Véase también isWhiteBalanceModeSupported().
zoomFactor : real
Obtiene o establece el factor de zoom actual. Los valores se fijarán entre minimumZoomFactor y maximumZoomFactor.
Documentación de señales
void errorOccurred(Camera::Error error, string errorString)
Esta señal se emite cuando el estado de error cambia a error. Se proporciona una descripción del error en errorString.
Nota: El manejador correspondiente es onErrorOccurred.
Documentación del método
bool isExposureModeSupported(ExposureMode mode)
Devuelve true si se admite la exposición mode.
bool isFlashModeSupported(FlashMode mode)
Devuelve true si el flash mode es compatible.
bool isFlashReady()
Devuelve true si el flash está cargado.
bool isFocusModeSupported(FocusMode mode)
Devuelve true si la cámara admite el enfoque mode.
Si se informa de que Camera.FocusModeManual es compatible, se da a entender que la función Camera.FocusDistance también lo es.
bool isTorchModeSupported(TorchMode mode)
Devuelve true si la antorcha mode es compatible.
bool isWhiteBalanceModeSupported(WhiteBalanceMode mode)
Devuelve true si se admite el balance de blancos mode.
void start()
Inicia la cámara.
Es lo mismo que poner la propiedad active a true.
Si la cámara no puede iniciarse por algún motivo, se emite la señal errorOccurred().
void stop()
Detiene la cámara. Igual que establecer la propiedad active a false.
void zoomTo(factor, rate)
Aumenta a un factor de zoom factor utilizando rate.
El rate se especifica en potencias de dos por segundo. Con una velocidad de 1, se tardaría 2 segundos en pasar de un factor de zoom de 1 a 4.
Nota: El uso de una velocidad específica no es compatible con todas las cámaras. Si no se admite, el zoom se realizará lo más rápido posible.
© 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.