Spec-Zone.ru › Qt

Класс QImageCapture

Класс QImageCapture используется для записи медиаконтента. Подробнее...

Заголовок: #include <QImageCapture>
CMake: find_package(Qt6 COMPONENTS Multimedia REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia
Наследует: QObject
  • Список всех членов, включая унаследованные

Открытые типы

Перечисление Ошибка { НетОшибок, НеГотовКЗаписи, ОшибкаРесурса, ОшибкаНедостаткаПамять, ОшибкаНеПоддерживаемойФункции, ОшибкаФормата }
Перечисление Качество { ОченьНизкоеКачество, НизкоеКачество, НормальноеКачество, ВысокоеКачество, ОченьВысокоеКачество }

Свойства

  • fileFormat : const FileFormat
  • metaData : QMediaMetaData
  • quality : const Качество
  • readyForCapture : const bool

Открытые функции

QImageCapture(QObject *parent = nullptr)
virtual ~QImageCapture()
void addMetaData(const QMediaMetaData &metaData)
QMediaCaptureSession * captureSession() const
QImageCapture::Ошибка error() const
QString errorString() const
QImageCapture::FileFormat fileFormat() const
bool isAvailable() const
bool isReadyForCapture() const
QMediaMetaData metaData() const
QImageCapture::Качество quality() const
QSize resolution() const
void setFileFormat(QImageCapture::FileFormat format)
void setMetaData(const QMediaMetaData &metaData)
void setQuality(QImageCapture::Качество quality)
void setResolution(const QSize &resolution)
void setResolution(int width, int height)

Открытые слоты

int capture()
int captureToFile(const QString &file = QString())

Сигналы

void errorChanged()
void errorOccurred(int id, QImageCapture::Ошибка 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 imageSaved(int id, const QString &fileName)
void metaDataChanged()
void qualityChanged()
void readyForCaptureChanged(bool ready)

Подробное описание

Класс QImageCapture — это класс высокого уровня для записи изображений. Он не предназначен для самостоятельного использования, а для доступа к функциям записи медиа других медиаобъектов, таких как QCamera.

QMediaCaptureSession captureSession;
camera = new QCamera;
captureSession.setCamera(camera);

QVideoWidget *preview = new QVideoWidget();
preview->show();
captureSession.setVideoOutput(preview);

imageCapture = new QImageCapture(camera);
captureSession.setImageCapture(imageCapture);

camera->start();
//on shutter button pressed
imageCapture->capture();

См. также QCamera.

Документация по типам членов

Перечисление QImageCapture::Ошибка

Постоянная Значение Описание
QImageCapture::NoError 0 Нет ошибок.
QImageCapture::NotReadyError 1 Сервис еще не готов к записи.
QImageCapture::ResourceError 2 Устройство не готово или недоступно.
QImageCapture::OutOfSpaceError 3 На устройстве нет места.
QImageCapture::NotSupportedFeatureError 4 Устройство не поддерживает захват статических изображений.
QImageCapture::FormatError 5 Текущий формат не поддерживается.

Перечисление QImageCapture::Качество

Перечисляет уровни кодирования качества.

Постоянная Значение
QImageCapture::VeryLowQuality 0
QImageCapture::LowQuality 1
QImageCapture::NormalQuality 2
QImageCapture::HighQuality 3
QImageCapture::VeryHighQuality 4

Документация свойств

[read-only] fileFormat : const FileFormat

Это свойство хранит формат изображения.

Функции доступа:

QImageCapture::FileFormat fileFormat() const

Сигнал уведомления:

void fileFormatChanged()

metaData : QMediaMetaData

Это свойство хранит метаданные, которые будут встроены в изображение.

Примечание: Дополнительные поля, такие как отметка времени или местоположение, могут быть добавлены бэкендом камеры.

Функции доступа:

QMediaMetaData metaData() const
void setMetaData(const QMediaMetaData &metaData)

Сигнал уведомления:

void metaDataChanged()

[read-only] quality : const Quality

Это свойство хранит качество кодирования изображения.

Функции доступа:

QImageCapture::Quality quality() const

Сигнал уведомления:

void qualityChanged()

[read-only] readyForCapture : const bool

Содержит true значение, указывающее, готова ли камера к немедленному захвату изображения. Вызов capture() в то время, когда readyForCapture имеет значение false, запрещено и приводит к ошибке.

Функции доступа:

bool isReadyForCapture() const

Сигнал уведомления:

void readyForCaptureChanged(bool ready)

Документация функций-членов

QImageCapture::QImageCapture(QObject *parent = nullptr)

Создаёт объект захвата изображения, от parent, который может захватывать отдельные неподвижные изображения, создаваемые камерой.

Для захвата изображений необходимо подключить объект захвата изображения и QCamera к сессии захвата.

[slot] int QImageCapture::capture()

Захватывает изображение и делает его доступным как QImage. Эта операция в большинстве случаев асинхронна, за которой следуют сигналы QImageCapture::imageExposed(), QImageCapture::imageCaptured() или QImageCapture::error().

QImageCapture::capture возвращает параметр идентификатора захвата, используемый с сигналами imageExposed(), imageCaptured() и imageSaved().

См. также isReadyForCapture().

[slot] int QImageCapture::captureToFile(const QString &file = QString())

Захватывает изображение и сохраняет его в file. Эта операция в большинстве случаев асинхронна, за которой следуют сигналы QImageCapture::imageExposed(), QImageCapture::imageCaptured(), QImageCapture::imageSaved() или QImageCapture::error().

Если в качестве file передано пустое значение, бэкенд камеры выбирает стандартное местоположение и схему именования для фотографий в системе, если указано только имя файла без полного пути, изображение будет сохранено в стандартном каталоге, и полный путь будет указан в сигналах imageCaptured() и imageSaved().

QCamera сохраняет все параметры захвата, такие как параметры экспозиции или параметры обработки изображений, поэтому изменения параметров камеры после вызова capture() не влияют на предыдущие запросы захвата.

QImageCapture::capture возвращает параметр идентификатора захвата, используемый с сигналами imageExposed(), imageCaptured() и imageSaved().

См. также isReadyForCapture().

[signal] void QImageCapture::errorOccurred(int id, QImageCapture::Error error, const QString &errorString)

Сигнализирует о том, что запрос на захват id завершился неудачно с ошибкой error и описанием errorString.

[signal] void QImageCapture::imageAvailable(int id, const QVideoFrame &frame)

Сигнал, генерируемый, когда QImageCapture::CaptureToBuffer установлен и кадр frame с запросом id доступен.

[signal] void QImageCapture::imageCaptured(int id, const QImage &preview)

Сигнал генерируется, когда кадр с запросом id был захвачен, но ещё не обработан и сохранён. Кадр preview может быть отображён пользователю.

[signal] void QImageCapture::imageExposed(int id)

Сигнал генерируется, когда кадр с запросом id был подвергнут экспозиции.

[signal] void QImageCapture::imageSaved(int id, const QString &fileName)

Сигнал генерируется, когда QImageCapture::CaptureToFile установлен и кадр с запросом id был сохранён в fileName.

[signal] void QImageCapture::readyForCaptureChanged(bool ready)

Сигнализирует о том, что состояние готовности камеры к захвату ready изменилось.

Примечание: Сигнал уведомления для свойства readyForCapture.

[virtual] QImageCapture::~QImageCapture()

Удаляет объект захвата изображений.

void QImageCapture::addMetaData(const QMediaMetaData &metaData)

Добавляет дополнительные metaData к существующим метаданным, которые встраиваются в захваченное изображение.

QMediaCaptureSession *QImageCapture::captureSession() const

Возвращает сеанс захвата, к которому подключена эта камера, или nullptr, если камера не подключена к сеансу захвата.

Используйте QMediaCaptureSession::setImageCapture() для подключения захвата изображения к сеансу.

QImageCapture::Error QImageCapture::error() const

Возвращает текущее состояние ошибки.

Примечание: Функция-получатель для свойства error.

См. также errorString().

QString QImageCapture::errorString() const

Возвращает строку, описывающую текущее состояние ошибки.

Примечание: Функция-получатель для свойства errorString.

См. также error().

bool QImageCapture::isAvailable() const

Возвращает true, если служба захвата изображений готова к использованию.

QSize QImageCapture::resolution() const

Возвращает разрешение закодированного изображения.

См. также setResolution().

void QImageCapture::setFileFormat(QImageCapture::FileFormat format)

Устанавливает формат изображения format.

См. также fileFormat().

void QImageCapture::setMetaData(const QMediaMetaData &metaData)

Заменяет любые существующие метаданные, которые будут встроены в захваченное изображение, на заданные metaData.

Примечание: Функция-установитель для свойства metaData.

См. также metaData().

void QImageCapture::setQuality(QImageCapture::Quality quality)

Устанавливает качество кодирования изображения quality.

См. также quality().

void QImageCapture::setResolution(const QSize &resolution)

Устанавливает разрешение кодируемого изображения.

Пустой QSize указывает, что кодер должен выбрать оптимальный вариант, исходя из доступных данных источника изображения и ограничений кодека.

См. также resolution().

void QImageCapture::setResolution(int width, int height)

Устанавливает ширину и высоту разрешения кодируемого изображения.

Это перегруженный метод.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qimagecapture.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API