QImageCapture Class

QImageCaptureクラスは、メディア・コンテンツの録画に使用します。詳細...

ヘッダー #include <QImageCapture>
CMake: find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia
継承: QObject

パブリックな型

enum Error { NoError, NotReadyError, ResourceError, OutOfSpaceError, NotSupportedFeatureError, FormatError }
enum FileFormat { UnspecifiedFormat, JPEG, PNG, WebP, Tiff }
enum Quality { VeryLowQuality, LowQuality, NormalQuality, HighQuality, VeryHighQuality }

プロパティ

パブリック機能

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)

パブリックスロット

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

シグナル

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()

静的パブリックメンバ

QString fileFormatDescription(QImageCapture::FileFormat f)
QString fileFormatName(QImageCapture::FileFormat f)
QList<QImageCapture::FileFormat> supportedFormats()

詳細説明

QImageCaptureクラスは、高レベルの画像記録クラスです。これは単独で使用することを意図しておらず、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();

QCameraも参照してください

メンバ型ドキュメント

enum QImageCapture::Error

定数説明
QImageCapture::NoError0エラーなし。
QImageCapture::NotReadyError1サービスはまだキャプチャの準備ができていません。
QImageCapture::ResourceError2デバイスの準備ができていないか、利用できません。
QImageCapture::OutOfSpaceError3デバイスに空き容量がない。
QImageCapture::NotSupportedFeatureError4デバイスが静止画キャプチャをサポートしていません。
QImageCapture::FormatError5現在のフォーマットはサポートされていません。

enum QImageCapture::FileFormat

以下の画像フォーマットのいずれかを選択してください:

定数説明
QImageCapture::UnspecifiedFormat0フォーマット指定なし
QImageCapture::JPEG1.jpg または 形式.jpeg
QImageCapture::PNG2.png フォーマット
QImageCapture::WebP3.webp フォーマット
QImageCapture::Tiff4.tiff フォーマット

enum QImageCapture::Quality

品質エンコードレベルを列挙する。

定数
QImageCapture::VeryLowQuality0
QImageCapture::LowQuality1
QImageCapture::NormalQuality2
QImageCapture::HighQuality3
QImageCapture::VeryHighQuality4

プロパティ ドキュメント

[read-only] error : const Error

現在のエラー状態を返します。

アクセス関数

QImageCapture::Error error() const

通知シグナル:

void errorChanged()

errorString()も参照のこと

[read-only] errorString : const QString

現在のエラー状態を表す文字列を返します。

アクセス関数

QString errorString() const

通知シグナル:

void errorChanged()

error()も参照のこと

[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 を保持する。readyForCapturefalse のときにcapture() を呼び出すことは許されず、エラーとなる。

アクセス関数:

bool isReadyForCapture() const

Notifierシグナル:

void readyForCaptureChanged(bool ready)

メンバ関数ドキュメント

[explicit] QImageCapture::QImageCapture(QObject *parent = nullptr)

カメラから生成された個々の静止画像をキャプチャできる、画像キャプチャオブジェクトをparent から構築します。

画像をキャプチャするには、画像キャプチャオブジェクトとQCamera の両方をキャプチャセッションに接続する必要があります。

[override virtual noexcept] QImageCapture::~QImageCapture()

画像キャプチャオブジェクトを破壊する。

void QImageCapture::addMetaData(const QMediaMetaData &metaData)

キャプチャ画像に埋め込まれている既存のメタデータに、metaData を追加します。

[slot] int QImageCapture::capture()

画像をキャプチャし、QImage 。この操作はほとんどの場合非同期で行われ、シグナルQImageCapture::imageExposed()、QImageCapture::imageCaptured()、QImageCapture::error()が続きます。

QImageCapture::capture はキャプチャ ID パラメータを返し、imageExposed(),imageCaptured(),imageSaved() シグナルで使用します。

isReadyForCapture()も参照してください

QMediaCaptureSession *QImageCapture::captureSession() const

このカメラが接続しているキャプチャセッション、またはカメラがキャプチャセッションに接続していない場合はnullptrを返します。

画像キャプチャをセッションに接続するには、QMediaCaptureSession::setImageCapture ()を使用します。

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

fileほとんどの場合、この操作は非同期で行われ、シグナルQImageCapture::imageExposed()、QImageCapture::imageCaptured()、QImageCapture::imageSaved() またはQImageCapture::error() が続きます。

空のfile が渡された場合、カメラのバックエンドはシステム上の写真のデフォルトの保存場所と命名方法を選択します。フルパスなしのファイル名のみが指定された場合、画像はデフォルトのディレクトリに保存され、フルパスはimageCaptured() およびimageSaved() シグナルで報告されます。

QCamera 露出設定や画像処理パラメータのようなすべてのキャプチャパラメータを保存するため、 () が呼ばれた後にカメラパラメータを変更しても、以前のキャプチャ要求には影響しない。capture

QImageCapture::capture キャプチャIdパラメータを返す。 ()、 ()、 () の各シグナルで使用される。imageExposed imageCaptured imageSaved

isReadyForCapture()も参照

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

キャプチャ要求id が失敗したことを、errorerrorString の記述で知らせる。

[static] QString QImageCapture::fileFormatDescription(QImageCapture::FileFormat f)

与えられたファイルフォーマットの説明を返すf

[static] QString QImageCapture::fileFormatName(QImageCapture::FileFormat f)

指定された書式の名前を返すf

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

リクエストid を持つframe が利用可能になったときに発せられるシグナル。

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

リクエストid を持つフレームがキャプチャされたが、まだ処理されておらず、保存されていないときに発せられるシグナル。フレームpreview はユーザーに表示できます。

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

リクエストid を持つフレームが公開されたときに発せられるシグナル。

[signal] void QImageCapture::imageMetadataAvailable(int id, const QMediaMetaData &metaData)

id によって識別された画像がmetaData であることを示す。

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

QImageCapture::CaptureToFile が設定され、リクエストid を持つフレームがfileName に保存されたときに発せられるシグナル。

bool QImageCapture::isAvailable() const

画像キャプチャサービスが使用可能な状態であればtrueを返します。

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

カメラのready for capture 状態が変更されたことを通知する。

注意: readyForCapture プロパティのノーティファイアシグナル。

QSize QImageCapture::resolution() const

エンコードされた画像の解像度を返します。

setResolution()も参照

[signal] void QImageCapture::resolutionChanged()

画像の解像度が変更されたことを示す。

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)

エンコードされた画像のresolution を設定します。

空のQSize は、画像ソースから得られる情報とコーデックの制限に基づいて、 エンコーダが最適な選択をする必要があることを示します。

resolution()も参照

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

エンコードされた画像の解像度のwidthheight を設定する。

これはオーバーロードされた関数です。

[static] QList<QImageCapture::FileFormat> QImageCapture::supportedFormats()

サポートされているファイル形式のリストを返します。

FileFormatも参照

© 2025 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.