このページでは

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;
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

以下の画像形式から1つを選んでください:

定数値説明
QImageCapture::UnspecifiedFormat0形式未指定
QImageCapture::JPEG1.jpg または.jpeg 形式
QImageCapture::PNG2.png 形式
QImageCapture::WebP3.webp format
QImageCapture::Tiff4.tiff 形式

enum QImageCapture::Quality

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

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

プロパティのドキュメント

[read-only] error : Error

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

アクセス関数:

QImageCapture::Error error() const

通知シグナル:

void errorChanged()

関連項目: ` errorString()`。

[read-only] errorString : QString

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

アクセス関数:

QString errorString() const

通知シグナル:

void errorChanged()

関連項目: ` error()`。

fileFormat : FileFormat

このプロパティは、画像形式を保持します。

アクセス関数:

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

通知シグナル:

void fileFormatChanged()

metaData : QMediaMetaData

このプロパティには、画像に埋め込まれるメタデータが格納されます。

注: タイムスタンプや位置情報などの追加 フィールドが、カメラのバックエンドによって追加される場合があります。

アクセス関数:

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

通知シグナル:

void metaDataChanged()

quality : Quality

このプロパティは、画像のエンコード品質を保持します。

アクセス関数:

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

通知信号:

void qualityChanged()

[read-only] readyForCapture : bool

カメラが直ちに画像を撮影できる状態の場合、true を保持します。readyForCapture がfalse である状態でcapture()を呼び出すことは許可されておらず、エラーが発生します。

アクセス関数:

bool isReadyForCapture() const

通知シグナル:

void readyForCaptureChanged(bool ready)

[read-only] supportedFormats : const QList<FileFormat>

このプロパティには、サポートされているファイル形式のリストが格納されています。

アクセス関数:

QList<QImageCapture::FileFormat> supportedFormats()

メンバ関数のドキュメント

[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 は、imageExposed()、imageCaptured()、およびimageSaved() シグナルで使用されるキャプチャ ID パラメータを返します。

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 imageExposed()、 ()、 () シグナルで使用されるキャプチャ ID パラメータを返します。imageCaptured imageSaved

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

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

キャプチャ要求「id 」が、error およびerrorString という説明とともに失敗したことを示します。

[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 が設定され、リクエスト IDid を持つフレームがfileName に保存された際に発せられるシグナルです。

bool QImageCapture::isAvailable() const

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

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

カメラのキャプチャ状態に関するready が変更されたことを通知します。

注: プロパティ「readyForCapture 」の通知 シグナルです。

QSize QImageCapture::resolution() const

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

setResolution()も参照してください 。

[signal] void QImageCapture::resolutionChanged()

画像の解像度が変更されたときに通知します。

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

画像をformat に設定します。

サポートされていないFileFormat を割り当てても、何の効果もありません。

注: プロパティfileFormat のセッター 関数。

fileFormat() およびsupportedFormatsも参照してください 。

void QImageCapture::setMetaData(const QMediaMetaData &metaData)

キャプチャされた画像に埋め込まれる既存のメタデータを、metaData のセットに置き換えます。

注: プロパティ `metaData`のセッター 関数です。

metaData()も参照してください 。

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

画像のエンコーディング「quality 」を設定します。

注: プロパティ `quality`のセッター 関数です。

quality()も参照してください 。

void QImageCapture::setResolution(const QSize &resolution)

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

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

resolution()も参照してください 。

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

エンコードされた画像の解像度に関するwidth およびheight を設定します。

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

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

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

注: プロパティ `supportedFormats`のゲッター 関数です。

関連項目: ` 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.