En esta página

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

ConstanteValorDescripción
QImageCapture::NoError0Sin Errores.
QImageCapture::NotReadyError1El servicio aún no está listo para la captura.
QImageCapture::ResourceError2El dispositivo no está listo o no está disponible.
QImageCapture::OutOfSpaceError3No queda espacio en el dispositivo.
QImageCapture::NotSupportedFeatureError4El dispositivo no admite la captura de imágenes fijas.
QImageCapture::FormatError5El formato actual no es compatible.

enum QImageCapture::FileFormat

Elija uno de los siguientes formatos de imagen:

ConstanteValorDescripción
QImageCapture::UnspecifiedFormat0Ningún formato especificado
QImageCapture::JPEG1.jpg o .jpeg formato
QImageCapture::PNG2.png formato
QImageCapture::WebP3.webp formato
QImageCapture::Tiff4.tiff formato

enum QImageCapture::Quality

Enumera los niveles de codificación de la calidad.

ConstanteValor
QImageCapture::VeryLowQuality0
QImageCapture::LowQuality1
QImageCapture::NormalQuality2
QImageCapture::HighQuality3
QImageCapture::VeryHighQuality4

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.