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::NoError | 0 | エラーなし。 |
QImageCapture::NotReadyError | 1 | サービスはまだキャプチャの準備ができていません。 |
QImageCapture::ResourceError | 2 | デバイスの準備ができていないか、利用できません。 |
QImageCapture::OutOfSpaceError | 3 | デバイスに空き容量がない。 |
QImageCapture::NotSupportedFeatureError | 4 | デバイスが静止画キャプチャをサポートしていません。 |
QImageCapture::FormatError | 5 | 現在のフォーマットはサポートされていません。 |
enum QImageCapture::FileFormat
以下の画像フォーマットのいずれかを選択してください:
定数 | 値 | 説明 |
---|---|---|
QImageCapture::UnspecifiedFormat | 0 | フォーマット指定なし |
QImageCapture::JPEG | 1 | .jpg または 形式.jpeg |
QImageCapture::PNG | 2 | .png フォーマット |
QImageCapture::WebP | 3 | .webp フォーマット |
QImageCapture::Tiff | 4 | .tiff フォーマット |
enum QImageCapture::Quality
品質エンコードレベルを列挙する。
定数 | 値 |
---|---|
QImageCapture::VeryLowQuality | 0 |
QImageCapture::LowQuality | 1 |
QImageCapture::NormalQuality | 2 |
QImageCapture::HighQuality | 3 |
QImageCapture::VeryHighQuality | 4 |
プロパティ ドキュメント
[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
を保持する。readyForCapture
がfalse
のときに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)
リクエスト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)
エンコード画像の解像度width とheight を設定します。
これはオーバーロードされた関数です。
[static]
QList<QImageCapture::FileFormat> QImageCapture::supportedFormats()
サポートされているファイルフォーマットのリストを返します。
FileFormat も参照して ください。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。