QImageCapture Class
La clase QImageCapture se utiliza para la grabación de contenido multimedia. Más...
| Cabecera: | #include <QImageCapture> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Multimedia)target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
| qmake: | QT += multimedia |
| Hereda: | QObject |
Tipos públicos
| enum | Error { NoError, NotReadyError, ResourceError, OutOfSpaceError, NotSupportedFeatureError, FormatError } |
| enum | FileFormat { UnspecifiedFormat, JPEG, PNG, WebP, Tiff } |
| enum | Quality { VeryLowQuality, LowQuality, NormalQuality, HighQuality, VeryHighQuality } |
Propiedades
|
|
Funciones públicas
| QImageCapture(QObject *parent = nullptr) | |
| virtual | ~QImageCapture() override |
| void | addMetaData(const QMediaMetaData &metaData) |
| QMediaCaptureSession * | captureSession() const |
| QImageCapture::Error | error() const |
| QString | errorString() const |
| QImageCapture::FileFormat | fileFormat() const |
| bool | isAvailable() const |
| bool | isReadyForCapture() const |
| QMediaMetaData | metaData() const |
| QImageCapture::Quality | quality() const |
| QSize | resolution() const |
| void | setFileFormat(QImageCapture::FileFormat format) |
| void | setMetaData(const QMediaMetaData &metaData) |
| void | setQuality(QImageCapture::Quality quality) |
| void | setResolution(const QSize &resolution) |
| void | setResolution(int width, int height) |
Ranuras públicas
| int | capture() |
| int | captureToFile(const QString &file = QString()) |
Señales
| void | errorChanged() |
| void | errorOccurred(int id, QImageCapture::Error error, const QString &errorString) |
| void | fileFormatChanged() |
| void | imageAvailable(int id, const QVideoFrame &frame) |
| void | imageCaptured(int id, const QImage &preview) |
| void | imageExposed(int id) |
| void | imageMetadataAvailable(int id, const QMediaMetaData &metaData) |
| void | imageSaved(int id, const QString &fileName) |
| void | metaDataChanged() |
| void | qualityChanged() |
| void | readyForCaptureChanged(bool ready) |
| void | resolutionChanged() |
Miembros públicos estáticos
| QString | fileFormatDescription(QImageCapture::FileFormat f) |
| QString | fileFormatName(QImageCapture::FileFormat f) |
| QList<QImageCapture::FileFormat> | supportedFormats() |
Descripción Detallada
La clase QImageCapture es una clase de grabación de imágenes de alto nivel. No está pensada para ser utilizada sola, sino para acceder a las funciones de grabación de otros objetos multimedia, como QCamera.
QMediaCaptureSession captureSession; camera = new QCamera; captureSession.setCamera(camera); viewfinder = new QVideoWidget(); viewfinder->show(); captureSession.setVideoOutput(viewfinder); imageCapture = new QImageCapture(camera); captureSession.setImageCapture(imageCapture); camera->start(); //on shutter button pressed imageCapture->capture();
Véase también QCamera.
Documentación de tipos de miembros
enum QImageCapture::Error
| Constante | Valor | Descripción |
|---|---|---|
QImageCapture::NoError | 0 | Sin Errores. |
QImageCapture::NotReadyError | 1 | El servicio aún no está listo para la captura. |
QImageCapture::ResourceError | 2 | El dispositivo no está listo o no está disponible. |
QImageCapture::OutOfSpaceError | 3 | No queda espacio en el dispositivo. |
QImageCapture::NotSupportedFeatureError | 4 | El dispositivo no admite la captura de imágenes fijas. |
QImageCapture::FormatError | 5 | El formato actual no es compatible. |
enum QImageCapture::FileFormat
Elija uno de los siguientes formatos de imagen:
| Constante | Valor | Descripción |
|---|---|---|
QImageCapture::UnspecifiedFormat | 0 | Ningún formato especificado |
QImageCapture::JPEG | 1 | .jpg o .jpeg formato |
QImageCapture::PNG | 2 | .png formato |
QImageCapture::WebP | 3 | .webp formato |
QImageCapture::Tiff | 4 | .tiff formato |
enum QImageCapture::Quality
Enumera los niveles de codificación de la calidad.
| Constante | Valor |
|---|---|
QImageCapture::VeryLowQuality | 0 |
QImageCapture::LowQuality | 1 |
QImageCapture::NormalQuality | 2 |
QImageCapture::HighQuality | 3 |
QImageCapture::VeryHighQuality | 4 |
Propiedad Documentación
[read-only] error : Error
Devuelve el estado de error actual.
Funciones de acceso:
| QImageCapture::Error | error() const |
Señal del notificador:
| void | errorChanged() |
Véase también errorString().
[read-only] errorString : QString
Devuelve una cadena que describe el estado de error actual.
Funciones de acceso:
| QString | errorString() const |
Señal del notificador:
| void | errorChanged() |
Véase también error().
fileFormat : FileFormat
Esta propiedad contiene el formato de la imagen.
Funciones de acceso:
| QImageCapture::FileFormat | fileFormat() const |
| void | setFileFormat(QImageCapture::FileFormat format) |
Señal del notificador:
| void | fileFormatChanged() |
metaData : QMediaMetaData
Esta propiedad contiene los metadatos que se incrustarán en la imagen.
Nota: La cámara puede añadir campos adicionales como la hora o la ubicación.
Funciones de acceso:
| QMediaMetaData | metaData() const |
| void | setMetaData(const QMediaMetaData &metaData) |
Señal de notificación:
| void | metaDataChanged() |
quality : Quality
Esta propiedad contiene la calidad de codificación de la imagen.
Funciones de acceso:
| QImageCapture::Quality | quality() const |
| void | setQuality(QImageCapture::Quality quality) |
Señal notificadora:
| void | qualityChanged() |
[read-only] readyForCapture : bool
Mantiene true si la cámara está preparada para capturar una imagen inmediatamente. Llamar a capture() mientras readyForCapture es false no está permitido y produce un error.
Funciones de acceso:
| bool | isReadyForCapture() const |
Señal notificadora:
| void | readyForCaptureChanged(bool ready) |
[read-only] supportedFormats : const QList<FileFormat>
Esta propiedad contiene una lista de los formatos de archivo admitidos.
Funciones de acceso:
| QList<QImageCapture::FileFormat> | supportedFormats() |
Documentación de las funciones miembro
[explicit] QImageCapture::QImageCapture(QObject *parent = nullptr)
Construye un objeto de captura de imágenes, a partir de un parent, que puede capturar imágenes fijas individuales producidas por una cámara.
Debe conectar tanto un objeto de captura de imágenes como un QCamera a una sesión de captura para capturar imágenes.
[override virtual noexcept] QImageCapture::~QImageCapture()
Destruye el objeto de captura de imágenes.
void QImageCapture::addMetaData(const QMediaMetaData &metaData)
Añade metaData adicionales a cualquier metadato existente, que esté incrustado en la imagen capturada.
[slot] int QImageCapture::capture()
Captura la imagen y la hace disponible como QImage. Esta operación es asíncrona en la mayoría de los casos, seguida de las señales QImageCapture::imageExposed(), QImageCapture::imageCaptured() o QImageCapture::error().
QImageCapture::capture devuelve el parámetro Id de captura, utilizado con las señales imageExposed(), imageCaptured() y imageSaved().
Véase también isReadyForCapture().
QMediaCaptureSession *QImageCapture::captureSession() const
Devuelve la sesión de captura a la que está conectada esta cámara, o un nullptr si la cámara no está conectada a una sesión de captura.
Utilice QMediaCaptureSession::setImageCapture() para conectar la captura de imágenes a una sesión.
[slot] int QImageCapture::captureToFile(const QString &file = QString())
Capturar la imagen y guardarla en file. Esta operación es asíncrona en la mayoría de los casos, seguida de las señales QImageCapture::imageExposed(), QImageCapture::imageCaptured(), QImageCapture::imageSaved() o QImageCapture::error().
Si se pasa un file vacío, el back-end de la cámara elige la ubicación por defecto y el esquema de nomenclatura para las fotos en el sistema, si sólo se especifica el nombre de archivo sin la ruta completa, la imagen se guardará en el directorio por defecto, con una ruta completa informada con las señales imageCaptured() y imageSaved().
QCamera guarda todos los parámetros de captura, como los ajustes de exposición o los parámetros de procesamiento de imagen, de modo que los cambios en los parámetros de la cámara después de llamar a capture() no afectan a las solicitudes de captura anteriores.
QImageCapture::capture devuelve el parámetro Id de captura, utilizado con las señales imageExposed(), imageCaptured() y imageSaved().
Véase también isReadyForCapture().
[signal] void QImageCapture::errorOccurred(int id, QImageCapture::Error error, const QString &errorString)
Señala que la solicitud de captura id ha fallado con una descripción error y errorString.
[static] QString QImageCapture::fileFormatDescription(QImageCapture::FileFormat f)
Devuelve la descripción del formato de archivo dado, f.
[static] QString QImageCapture::fileFormatName(QImageCapture::FileFormat f)
Devuelve el nombre del formato dado, f.
[signal] void QImageCapture::imageAvailable(int id, const QVideoFrame &frame)
Señal emitida cuando el frame con solicitud id está disponible.
[signal] void QImageCapture::imageCaptured(int id, const QImage &preview)
Señal emitida cuando el fotograma con la petición id ha sido capturado, pero aún no ha sido procesado ni guardado. La imagen preview puede mostrarse al usuario.
[signal] void QImageCapture::imageExposed(int id)
Señal emitida cuando el marco con la solicitud id fue expuesto.
[signal] void QImageCapture::imageMetadataAvailable(int id, const QMediaMetaData &metaData)
Señala que una imagen identificada por id tiene metaData.
[signal] void QImageCapture::imageSaved(int id, const QString &fileName)
Señal emitida cuando se establece QImageCapture::CaptureToFile y el fotograma con la solicitud id se guardó en fileName.
bool QImageCapture::isAvailable() const
Devuelve true si el servicio de captura de imágenes está listo para su uso.
[signal] void QImageCapture::readyForCaptureChanged(bool ready)
Señala que el estado ready para captura de una cámara ha cambiado.
Nota: Señal notificadora de la propiedad readyForCapture.
QSize QImageCapture::resolution() const
Devuelve la resolución de la imagen codificada.
Véase también setResolution().
[signal] void QImageCapture::resolutionChanged()
Señala cuando cambia la resolución de la imagen.
void QImageCapture::setFileFormat(QImageCapture::FileFormat format)
Establece la imagen format.
Asignar una FileFormat no soportada no tiene ningún efecto.
Nota: Función Setter para la propiedad fileFormat.
Véase también fileFormat() y supportedFormats.
void QImageCapture::setMetaData(const QMediaMetaData &metaData)
Sustituye los metadatos existentes, que se incrustarán en la imagen capturada, por un conjunto de metaData.
Nota: Función Setter para la propiedad metaData.
Véase también metaData().
void QImageCapture::setQuality(QImageCapture::Quality quality)
Establece la codificación de la imagen quality.
Nota: Función Setter para la propiedad quality.
Véase también quality().
void QImageCapture::setResolution(const QSize &resolution)
Establece el resolution de la imagen codificada.
Un QSize vacío indica que el codificador debe hacer una elección óptima basada en lo que está disponible en la fuente de la imagen y las limitaciones del códec.
Véase también resolution().
void QImageCapture::setResolution(int width, int height)
Establece width y height de la resolución de la imagen codificada.
Se trata de una función sobrecargada.
[static] QList<QImageCapture::FileFormat> QImageCapture::supportedFormats()
Devuelve una lista de los formatos de archivo soportados.
Nota: Función Getter para la propiedad supportedFormats.
Véase también FileFormat.
© 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.