Spec-Zone.ru › Qt 5.11

Класс QCameraImageCapture

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

Заголовок: #include <QCameraImageCapture>
qmake: QT += multimedia
Наследуется от: QObject и QMediaBindableInterface
  • Список всех членов, включая унаследованные

Типы публичного доступа

Перечисление CaptureDestination { CaptureToFile, CaptureToBuffer }
Флаги CaptureDestinations
Перечисление DriveMode { SingleImageCapture }
Перечисление Error { NoError, NotReadyError, ResourceError, OutOfSpaceError, NotSupportedFeatureError, FormatError }

Свойства

  • readyForCapture : const bool
  • 1 свойство унаследовано от QObject

Функции публичного доступа

QCameraImageCapture(QMediaObject *mediaObject, QObject *parent = nullptr)
virtual ~QCameraImageCapture()
QMultimedia::AvailabilityStatus availability() const
QVideoFrame::PixelFormat bufferFormat() const
QCameraImageCapture::CaptureDestinations captureDestination() const
QImageEncoderSettings encodingSettings() const
QCameraImageCapture::Error error() const
QString errorString() const
QString imageCodecDescription(const QString &codec) const
bool isAvailable() const
bool isCaptureDestinationSupported(QCameraImageCapture::CaptureDestinations destination) const
bool isReadyForCapture() const
void setBufferFormat(const QVideoFrame::PixelFormat format)
void setCaptureDestination(QCameraImageCapture::CaptureDestinations destination)
void setEncodingSettings(const QImageEncoderSettings &settings)
QList<QVideoFrame::PixelFormat> supportedBufferFormats() const
QStringList supportedImageCodecs() const
QList<QSize> supportedResolutions(const QImageEncoderSettings &settings = QImageEncoderSettings(), bool *continuous = nullptr) const

Переопределённые функции публичного доступа

virtual QMediaObject * mediaObject() const override
  • 34 функции публичного доступа унаследованы от QObject
  • 1 функция публичного доступа унаследована от QMediaBindableInterface

Слот публичного доступа

void cancelCapture()
int capture(const QString &file = QString())
  • 1 слот публичного доступа унаследован от QObject

Сигналы

void bufferFormatChanged(QVideoFrame::PixelFormat format)
void captureDestinationChanged(QCameraImageCapture::CaptureDestinations destination)
void error(int id, QCameraImageCapture::Error error, const QString &errorString)
void imageAvailable(int id, const QVideoFrame &frame)
void imageCaptured(int id, const QImage &preview)
void imageExposed(int id)
void imageMetadataAvailable(int id, const QString &key, const QVariant &value)
void imageSaved(int id, const QString &fileName)
void readyForCaptureChanged(bool ready)
  • 2 сигнала унаследованы от QObject

Переопределённые защищённые функции

virtual bool setMediaObject(QMediaObject *mediaObject) override
  • 9 защищённых функций унаследованы от QObject
  • 1 защищённая функция унаследована от QMediaBindableInterface

Дополнительные унаследованные члены

  • 1 переменная публичного доступа унаследована от QObject
  • 10 статические члены публичного доступа унаследованы от QObject
  • 9 защищённых функций унаследованы от QObject
  • 1 защищённая функция унаследована от QMediaBindableInterface
  • 2 защищённые переменные унаследованы от QObject

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

Класс QCameraImageCapture используется для записи медиа-контента.

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

camera = new QCamera;

viewfinder = new QCameraViewfinder();
viewfinder->show();

camera->setViewfinder(viewfinder);

imageCapture = new QCameraImageCapture(camera);

camera->setCaptureMode(QCamera::CaptureStillImage);
camera->start();
//on half pressed shutter button
camera->searchAndLock();

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

//on shutter button released
camera->unlock();

См. также QCamera.

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

Перечисление QCameraImageCapture::CaptureDestinationФлаги QCameraImageCapture::CaptureDestinations

Постоянная Значение Описание
QCameraImageCapture::CaptureToFile 0x01 Захватить изображение в файл.
QCameraImageCapture::CaptureToBuffer 0x02 Захватить изображение в буфер для дальнейшей обработки.

Тип CaptureDestinations — это typedef для QFlags<CaptureDestination>. Он хранит логическое ИЛИ сочетание значений CaptureDestination.

перечисление QCameraImageCapture::DriveMode

Постоянная Значение Описание
QCameraImageCapture::SingleImageCapture 0 Режим работы — захват одной фотографии.

перечисление QCameraImageCapture::Error

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

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

readyForCapture : const bool

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

Вызов capture() в то время, когда readyForCapture false запрещено и приводит к ошибке.

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

bool isReadyForCapture() const

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

void readyForCaptureChanged(bool ready)

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

QCameraImageCapture::QCameraImageCapture(QMediaObject *mediaObject, QObject *parent = nullptr)

Создаёт объект записи медиа, который записывает медиа, производимое объектом mediaObject.

parent передаётся объекту QMediaObject.

[virtual] QCameraImageCapture::~QCameraImageCapture()

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

QMultimedia::AvailabilityStatus QCameraImageCapture::availability() const

Возвращает доступность данной функциональности.

QVideoFrame::PixelFormat QCameraImageCapture::bufferFormat() const

Возвращает используемый формат буферного изображения для захвата.

См. также supportedBufferFormats() и setBufferFormat().

[signal] void QCameraImageCapture::bufferFormatChanged(QVideoFrame::PixelFormat format)

Сигнал, который генерируется при изменении формата буфера format для буферного захвата изображения.

[slot] void QCameraImageCapture::cancelCapture()

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

[slot] int QCameraImageCapture::capture(const QString &file = QString())

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

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

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

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

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

QCameraImageCapture::CaptureDestinations QCameraImageCapture::captureDestination() const

Возвращает место назначения захвата изображения.

См. также isCaptureDestinationSupported() и setCaptureDestination().

[signal] void QCameraImageCapture::captureDestinationChanged(QCameraImageCapture::CaptureDestinations destination)

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

QImageEncoderSettings QCameraImageCapture::encodingSettings() const

Возвращает используемые параметры кодирования изображения.

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

QCameraImageCapture::Error QCameraImageCapture::error() const

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

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

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

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

Примечание: Сигнал error перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя функции Qt предоставляет удобную вспомогательную функцию для получения указателя на функцию, как показано в этом примере:

connect(cameraImageCapture, QOverload<int, QCameraImageCapture::Error, const QString &>::of(&QCameraImageCapture::error),
    [=](int id, QCameraImageCapture::Error error, const QString &errorString){ /* ... */ });

QString QCameraImageCapture::errorString() const

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

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

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

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

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

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

QString QCameraImageCapture::imageCodecDescription(const QString &codec) const

Возвращает описание кодека codec изображения.

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

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

[signal] void QCameraImageCapture::imageMetadataAvailable(int id, const QString &key, const QVariant &value)

Сигнализирует о доступности метаданных изображения с запросом id. Также включает ключ key и значение value метаданных.

Этот сигнал генерируется между сигналами imageExposed и imageSaved.

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

Сигнал, генерируемый при сохранении кадра с запросом id в файл fileName.

bool QCameraImageCapture::isAvailable() const

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

bool QCameraImageCapture::isCaptureDestinationSupported(QCameraImageCapture::CaptureDestinations destination) const

Возвращает true, если место назначения захвата изображения destination поддерживается; в противном случае возвращает false.

См. также captureDestination() и setCaptureDestination().

[override virtual] QMediaObject *QCameraImageCapture::mediaObject() const

Переопределено из QMediaBindableInterface::mediaObject().

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

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

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

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

void QCameraImageCapture::setBufferFormat(const QVideoFrame::PixelFormat format)

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

См. также bufferFormat(), supportedBufferFormats() и captureDestination().

void QCameraImageCapture::setCaptureDestination(QCameraImageCapture::CaptureDestinations destination)

Устанавливает место назначения захвата destination.

См. также isCaptureDestinationSupported() и captureDestination().

void QCameraImageCapture::setEncodingSettings(const QImageEncoderSettings &settings)

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

Если некоторые параметры не указаны или передан null, кодер выбирает параметры кодирования по умолчанию.

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

[override virtual protected] bool QCameraImageCapture::setMediaObject(QMediaObject *mediaObject)

Переопределено из QMediaBindableInterface::setMediaObject().

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

QList<QVideoFrame::PixelFormat> QCameraImageCapture::supportedBufferFormats() const

Возвращает список поддерживаемых форматов буфера для захвата изображений.

См. также bufferFormat() и setBufferFormat().

QStringList QCameraImageCapture::supportedImageCodecs() const

Возвращает список поддерживаемых кодеков изображений.

QList<QSize> QCameraImageCapture::supportedResolutions(const QImageEncoderSettings &settings = QImageEncoderSettings(), bool *continuous = nullptr) const

Возвращает список разрешений, при которых изображения могут быть закодированы.

Если передан ненулевой параметр settings, возвращаемый список уменьшается до разрешений, поддерживаемых с частичными настройками, такими как кодек изображения или применённое качество.

Если кодер поддерживает произвольные разрешения в поддерживаемом диапазоне, *continuous устанавливается в true, в противном случае *continuous устанавливается в false.

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

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

Spec-Zone.ru

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