QImageCapture Class

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

Header: #include <QImageCapture>
CMake: find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia
Inherits: 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()
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

Notifier シグナル:

void errorChanged()

error()も参照

[read-only] fileFormat : const FileFormat

このプロパティは、画像フォーマットを保持します。

アクセス関数:

QImageCapture::FileFormat fileFormat() const

Notifier シグナル:

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

ノーティファイアシグナル:

void readyForCaptureChanged(bool ready)

メンバ関数 ドキュメント

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

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

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

[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 が失敗したことを、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)

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

[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参照して ください。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。