QCamera Class
QCameraクラスは、システム・カメラ・デバイス用のインターフェースを提供します。詳細...
ヘッダ | #include <QCamera> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
qmake | QT += multimedia |
QML で | Camera |
継承: | QObject |
パブリックな型
enum | Error { NoError, CameraError } |
enum | ExposureMode { ExposureAuto, ExposureManual, ExposurePortrait, ExposureNight, ExposureSports, …, ExposureBarcode } |
enum class | Feature { ColorTemperature, ExposureCompensation, IsoSensitivity, ManualExposureTime, CustomFocusPoint, FocusDistance } |
flags | Features |
enum | FlashMode { FlashOff, FlashOn, FlashAuto } |
enum | FocusMode { FocusModeAuto, FocusModeAutoNear, FocusModeAutoFar, FocusModeHyperfocal, FocusModeInfinity, FocusModeManual } |
enum | TorchMode { TorchOff, TorchOn, TorchAuto } |
enum | WhiteBalanceMode { WhiteBalanceAuto, WhiteBalanceManual, WhiteBalanceSunlight, WhiteBalanceCloudy, WhiteBalanceShade, …, WhiteBalanceSunset } |
プロパティ
|
|
パブリック機能
QCamera(QObject *parent = nullptr) | |
QCamera(QCameraDevice::Position position, QObject *parent = nullptr) | |
QCamera(const QCameraDevice &cameraDevice, QObject *parent = nullptr) | |
virtual | ~QCamera() override |
QCameraDevice | cameraDevice() const |
QCameraFormat | cameraFormat() const |
QMediaCaptureSession * | captureSession() const |
int | colorTemperature() const |
QPointF | customFocusPoint() const |
QCamera::Error | error() const |
QString | errorString() const |
float | exposureCompensation() const |
QCamera::ExposureMode | exposureMode() const |
float | exposureTime() const |
QCamera::FlashMode | flashMode() const |
float | focusDistance() const |
QCamera::FocusMode | focusMode() const |
QPointF | focusPoint() const |
bool | isActive() const |
bool | isAvailable() const |
bool | isExposureModeSupported(QCamera::ExposureMode mode) const |
bool | isFlashModeSupported(QCamera::FlashMode mode) const |
bool | isFlashReady() const |
bool | isFocusModeSupported(QCamera::FocusMode mode) const |
bool | isTorchModeSupported(QCamera::TorchMode mode) const |
bool | isWhiteBalanceModeSupported(QCamera::WhiteBalanceMode mode) const |
int | isoSensitivity() const |
float | manualExposureTime() const |
int | manualIsoSensitivity() const |
float | maximumExposureTime() const |
int | maximumIsoSensitivity() const |
float | maximumZoomFactor() const |
float | minimumExposureTime() const |
int | minimumIsoSensitivity() const |
float | minimumZoomFactor() const |
void | setCameraDevice(const QCameraDevice &cameraDevice) |
void | setCameraFormat(const QCameraFormat &format) |
void | setCustomFocusPoint(const QPointF &point) |
void | setFocusDistance(float d) |
void | setFocusMode(QCamera::FocusMode mode) |
void | setZoomFactor(float factor) |
QCamera::Features | supportedFeatures() const |
QCamera::TorchMode | torchMode() const |
QCamera::WhiteBalanceMode | whiteBalanceMode() const |
float | zoomFactor() const |
パブリックスロット
void | setActive(bool active) |
void | setAutoExposureTime() |
void | setAutoIsoSensitivity() |
void | setColorTemperature(int colorTemperature) |
void | setExposureCompensation(float ev) |
void | setExposureMode(QCamera::ExposureMode mode) |
void | setFlashMode(QCamera::FlashMode mode) |
void | setManualExposureTime(float seconds) |
void | setManualIsoSensitivity(int iso) |
void | setTorchMode(QCamera::TorchMode mode) |
void | setWhiteBalanceMode(QCamera::WhiteBalanceMode mode) |
void | start() |
void | stop() |
void | zoomTo(float factor, float rate) |
シグナル
void | activeChanged(bool) |
void | cameraDeviceChanged() |
void | cameraFormatChanged() |
void | colorTemperatureChanged() const |
void | customFocusPointChanged() |
void | errorChanged() |
void | errorOccurred(QCamera::Error error, const QString &errorString) |
void | exposureCompensationChanged(float value) |
void | exposureModeChanged() |
void | exposureTimeChanged(float speed) |
void | flashModeChanged() |
void | flashReady(bool ready) |
void | focusDistanceChanged(float) |
void | focusModeChanged() |
void | focusPointChanged() |
void | isoSensitivityChanged(int value) |
void | manualExposureTimeChanged(float speed) |
void | manualIsoSensitivityChanged(int) |
void | maximumZoomFactorChanged(float) |
void | minimumZoomFactorChanged(float) |
void | supportedFeaturesChanged() |
void | torchModeChanged() |
void | whiteBalanceModeChanged() const |
void | zoomFactorChanged(float) |
詳細説明
QCameraはQMediaCaptureSession 、ビデオ録画や画像撮影に使用できます。
QCameraDevice 、使用可能なカメラを一覧表示し、使用するカメラを選択できます。
const QList<QCameraDevice> cameras = QMediaDevices::videoInputs(); for (const QCameraDevice &cameraDevice : cameras) { if (cameraDevice.description() == "mycamera") camera = new QCamera(cameraDevice); }
QCameraをサポートしているハードウェアでは、フォーカスとズームを調整できます。また、近接作業(バーコードの読み取りや文字の認識など)のための「マクロ」モードや、「タッチでフォーカス」(ハードウェアがフォーカスを合わせようとする画像の興味深い部分を示す)などの機能もあります。
camera->setFocusPointMode(QCamera::FocusModeManual); camera->setCustomFocusPoint(QPointF(0.25f, 0.75f)); // A point near the bottom left, 25% away from the corner, near that shiny vase
minimumZoomFactor() およびmaximumZoomFactor() メソッドは、サポートされるズーム倍率の範囲を提供します。zoomTo() メソッドでは、ズーム倍率を変更することができる。
camera->setZoomFactor(3.0);
カメラフレームの生データをキャプチャした後、カメラのハードウェアとソフトウェアはさまざまな画像処理タスクを実行し、最終的な画像を生成します。この処理には、環境光の色の補正、ノイズの低減、画像の調整などが含まれます。
これらの処理手順の多くは、[カメラ] プロパティで制御できます。たとえば、画像の処理に使用するホワイトバランス(または色温度)を設定できます:
camera->setWhiteBalanceMode(QCamera::WhiteBalanceFluorescent);
カメラフレームの画像処理の詳細については、カメラの画像処理を参照してください。
詳細については、カメラの概要を参照してください。
メンバー・タイプ・ドキュメント
enum QCamera::Error
この列挙型は最後のエラーコードを保持する。
定数 | 値 | 説明 |
---|---|---|
QCamera::NoError | 0 | エラーは発生していません。 |
QCamera::CameraError | 1 | エラーが発生しました。 |
enum QCamera::ExposureMode
定数 | 値 | 説明 |
---|---|---|
QCamera::ExposureAuto | 0 | 自動モード。 |
QCamera::ExposureManual | 1 | マニュアルモード |
QCamera::ExposurePortrait | 2 | ポートレート露出モード。 |
QCamera::ExposureNight | 3 | ナイトモード。 |
QCamera::ExposureSports | 4 | スポット露光モード。 |
QCamera::ExposureSnow | 5 | 雪の露出モード |
QCamera::ExposureBeach | 6 | ビーチ露出モード |
QCamera::ExposureAction | 7 | アクションモード5.5以降 |
QCamera::ExposureLandscape | 8 | 風景モード。5.5以降 |
QCamera::ExposureNightPortrait | 9 | 夜景ポートレートモード。5.5以降 |
QCamera::ExposureTheatre | 10 | シアターモード。5.5から |
QCamera::ExposureSunset | 11 | サンセットモード。5.5以降 |
QCamera::ExposureSteadyPhoto | 12 | 静止画モード。5.5から |
QCamera::ExposureFireworks | 13 | 花火モード。5.5から |
QCamera::ExposureParty | 14 | パーティーモード。5.5から |
QCamera::ExposureCandlelight | 15 | キャンドルライトモード。5.5から |
QCamera::ExposureBarcode | 16 | バーコードモード。5.5から |
enum class QCamera::Feature
flags QCamera::Featuresカメラがサポートする機能のセット。
カメラがサポートする機能のセットを記述します。返される値は以下の組み合わせです:
定数 | 値 | 説明 |
---|---|---|
QCamera::Feature::ColorTemperature | 0x1 | カメラはカスタムcolorTemperature の設定をサポートしています。 |
QCamera::Feature::ExposureCompensation | 0x2 | カメラはカスタムexposureCompensation の設定をサポートしています。 |
QCamera::Feature::IsoSensitivity | 0x4 | カメラはカスタムisoSensitivity の設定をサポートしています。 |
QCamera::Feature::ManualExposureTime | 0x8 | カメラはmanual exposure Time の設定をサポートしています。 |
QCamera::Feature::CustomFocusPoint | 0x10 | カメラがcustom focus point の設定をサポートします。 |
QCamera::Feature::FocusDistance | 0x20 | Camera はfocusDistance プロパティの設定に対応しています。 |
Features型はQFlags<Feature>のtypedefです。Feature値のORの組み合わせが格納されます。
enum QCamera::FlashMode
定数 | 値 | 説明 |
---|---|---|
QCamera::FlashOff | 0 | フラッシュはオフです。 |
QCamera::FlashOn | 1 | フラッシュはオンです。 |
QCamera::FlashAuto | 2 | 自動フラッシュ。 |
enum QCamera::FocusMode
定数 | 値 | 説明 |
---|---|---|
QCamera::FocusModeAuto | 0 | 連続オートフォーカスモード。 |
QCamera::FocusModeAutoNear | 1 | 近くのオブジェクトに対する連続オートフォーカスモード。 |
QCamera::FocusModeAutoFar | 2 | 遠くの被写体に対する連続オートフォーカスモード。 |
QCamera::FocusModeHyperfocal | 3 | 被写界深度を最大にして、超焦点距離までピントを合わせます。被写界深度が最大になるように、超焦点距離までピントを合わせます。 |
QCamera::FocusModeInfinity | 4 | 厳密に無限遠にピントを合わせる。 |
QCamera::FocusModeManual | 5 | カメラレンズのフォーカス距離はfocusDistance に従ってロックされます。 |
enum QCamera::TorchMode
定数 | 値 | 説明 |
---|---|---|
QCamera::TorchOff | 0 | トーチがオフ |
QCamera::TorchOn | 1 | トーチがオン |
QCamera::TorchAuto | 2 | 自動トーチ |
enum QCamera::WhiteBalanceMode
定数 | 値 | 説明 |
---|---|---|
QCamera::WhiteBalanceAuto | 0 | オートホワイトバランスモード。 |
QCamera::WhiteBalanceManual | 1 | マニュアルホワイトバランス。このモードでは、ホワイトバランスはsetColorTemperature() で設定する必要があります。 |
QCamera::WhiteBalanceSunlight | 2 | 太陽光ホワイトバランスモード。 |
QCamera::WhiteBalanceCloudy | 3 | 曇天ホワイトバランスモード。 |
QCamera::WhiteBalanceShade | 4 | 日陰ホワイトバランスモード。 |
QCamera::WhiteBalanceTungsten | 5 | タングステン(白熱灯)ホワイトバランスモード。 |
QCamera::WhiteBalanceFluorescent | 6 | 蛍光灯ホワイトバランスモード |
QCamera::WhiteBalanceFlash | 7 | フラッシュホワイトバランスモード |
QCamera::WhiteBalanceSunset | 8 | 夕焼けホワイトバランスモード |
プロパティ
active : bool
カメラが現在アクティブかどうかを示します。
アクセス機能:
通知信号
void | activeChanged(bool) |
cameraDevice : QCameraDevice
このカメラに関連付けられているQCameraDevice オブジェクトを返します。
アクセス関数:
QCameraDevice | cameraDevice() const |
void | setCameraDevice(const QCameraDevice &cameraDevice) |
通知シグナル:
void | cameraDeviceChanged() |
cameraFormat : QCameraFormat
カメラが現在使用しているカメラフォーマットを返します。
注意: Android ターゲットデバイスで FFMPEG バックエンドを使用する場合、YUV420Pフォーマットを要求すると、完全なプレーナ 4:2:0 YUV420P またはセミプレーナ NV12/NV21 のいずれかが返されます。これは、デバイスOEMによって実装されたコーデックに依存します。
アクセス機能
QCameraFormat | cameraFormat() const |
void | setCameraFormat(const QCameraFormat &format) |
通知信号:
void | cameraFormatChanged() |
QCameraDevice::videoFormatsも参照 。
colorTemperature : int
現在のホワイトバランスモードがWhiteBalanceManual
の場合、現在の色温度を返します。その他のモードの場合、戻り値は未定義です。
アクセス関数:
int | colorTemperature() const |
void | setColorTemperature(int colorTemperature) |
通知シグナル:
void | colorTemperatureChanged() const |
customFocusPoint : QPointF
このプロパティは、カスタムフォーカスポイントの位置を、相対フレーム座標で表します。QPointF(0,0) は左上フレームポイントを指し、QPointF(0.5,0.5) はフレームセンターを指します。
カスタムフォーカスポイントプロパティはFocusPointCustom
フォーカスモードでのみ使用されます。
カスタム・フォーカス・ポイントがサポートされているかどうかは、supportedFeatures() に Feature.CustomFocusPoint フラグを付けて問い合わせることで確認できます。
アクセス関数:
QPointF | customFocusPoint() const |
void | setCustomFocusPoint(const QPointF &point) |
通知シグナル:
void | customFocusPointChanged() |
[read-only]
error : const Error
カメラのエラー状態を返します。
アクセス関数
QCamera::Error | error() const |
通知シグナル
void | errorChanged() |
[read-only]
errorString : const QString
カメラのエラー状態を人間が読める文字列で返します。
アクセス関数:
QString | errorString() const |
通知シグナル
void | errorChanged() |
exposureCompensation : float
EV単位の露出補正。
露出補正プロパティを使用すると、自動的に計算された露出を調整することができます。
アクセス機能
float | exposureCompensation() const |
void | setExposureCompensation(float ev) |
通知信号
void | exposureCompensationChanged(float value) |
exposureMode : QCamera::ExposureMode
使用中の露光モードを保持する。
アクセス機能
QCamera::ExposureMode | exposureMode() const |
void | setExposureMode(QCamera::ExposureMode mode) |
アクセス関数:ノーティファイアシグナル:
void | exposureModeChanged() |
QCamera::isExposureModeSupportedも参照 。
[read-only]
exposureTime : const float
カメラの露光時間(秒
アクセス機能
float | exposureTime() const |
通知信号:
void | exposureTimeChanged(float speed) |
minimumExposureTime ()、maximumExposureTime ()、setManualExposureTime ()も参照 。
flashMode : QCamera::FlashMode
このプロパティは、使用されているフラッシュモードを保持する。
カメラにフラッシュが搭載されている場合、特定のフラッシュモードを有効にする。
アクセス機能
QCamera::FlashMode | flashMode() const |
void | setFlashMode(QCamera::FlashMode mode) |
アクセス関数:通知シグナル:
void | flashModeChanged() |
QCamera::FlashMode 、QCamera::isFlashModeSupported 、QCamera::isFlashReadyも参照 。
[read-only]
flashReady : const bool
フラッシュが充電され、使用可能かどうかを示します。
関数にアクセスします:
bool | isFlashReady() const | [see note below] |
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
通知シグナル:
void | flashReady(bool ready) |
focusDistance : float
このプロパティは、カメラデバイスがマニュアルフォーカスモードで動作する場合の、 レンズのフォーカス距離を定義する。有効な値の範囲は 0 から 1 で、0 は可能な限り近いフォーカス距離、1 は最も遠いフォーカス距離です。最も遠い点は通常無限遠ですが、これはすべてのデバイスに当てはまるとは限りません。
このプロパティは、focusMode がFocusModeManual に設定され、supportedFeatures がFeature::FocusDistance フラグを含む場合にのみ、デバイスに適用される。
focusMode が Camera.FocusModeManual に設定されていない間にこのプロパティに値を割り当てた場合、プロパティは値を保存しますが、Camera.FocusModeManual がアクティブになるまでデバイスには影響しません。
有効範囲[0, 1]外の値を割り当てても、このプロパティに影響はありません。
supportedFeatures にFocusDistance フラグが含まれていない場合、このプロパティを設定しようとしても無視されます。
カメラがオートフォーカスモードの場合、本プロパティは更新されない。
デフォルト値は 1 である。
アクセス関数:
float | focusDistance() const |
void | setFocusDistance(float d) |
通知信号:
void | focusDistanceChanged(float) |
focusMode : FocusMode
本プロパティは、現在のカメラフォーカスモードを保持する。
本プロパティは、カメラデバイスのフォーカスモードを制御する値を保持する。全てのオートフォーカスモードにおいて、カメラデバイスは連続的にフォーカスを合わせ続ける。
カメラデバイスが特定のフォーカスモードをサポートしているか確認するには、対応するFocusMode の値をパラメータとしてisFocusModeSupported 関数に渡します。フォーカスモードの値がサポートされていない場合、この関数は false を返します。このモードを focusMode プロパティに代入しても効果はありません。
focusMode プロパティを Camera.FocusModeManual に設定すると、レンズはfocusDistance に従ってフォーカスをロックします。
アクセス関数
QCamera::FocusMode | focusMode() const |
void | setFocusMode(QCamera::FocusMode mode) |
通知シグナル:
void | focusModeChanged() |
isFocusModeSupportedも参照してください 。
[read-only]
focusPoint : const QPointF
オートフォーカスシステムがピントを合わせるために現在使用しているポイントを返します。
アクセス関数
QPointF | focusPoint() const |
通知シグナル
void | focusPointChanged() |
[read-only]
isoSensitivity : const int
このプロパティは、センサーの ISO 感度を保持する。
カメラが現在使用している ISO 感度を記述する。
アクセス機能
int | isoSensitivity() const |
通知シグナル:
void | isoSensitivityChanged(int value) |
setAutoIsoSensitivity() およびsetManualIsoSensitivity()も参照のこと 。
manualExposureTime : float
マニュアル露光時間をseconds
アクセス機能
float | manualExposureTime() const |
void | setManualExposureTime(float seconds) |
通知信号
void | manualExposureTimeChanged(float speed) |
manualIsoSensitivity : int
手動で設定された ISO 感度を表します。
このプロパティを-1(デフォルト)に設定すると、カメラが自動的にISO感度を調整することを意味します。
アクセス機能
int | manualIsoSensitivity() const |
void | setManualIsoSensitivity(int iso) |
通知信号:
void | manualIsoSensitivityChanged(int) |
[read-only]
maximumZoomFactor : const float
最大ズーム倍率を返します。
ズームに対応していないカメラでは、1.0
。
アクセス関数:
float | maximumZoomFactor() const |
通知シグナル:
void | maximumZoomFactorChanged(float) |
[read-only]
minimumZoomFactor : const float
最小ズーム倍率を返します。
ズームに対応していないカメラでは、1.0
。
アクセス関数:
float | minimumZoomFactor() const |
通知シグナル:
void | minimumZoomFactorChanged(float) |
[read-only]
supportedFeatures : const Features
このカメラがサポートする機能を返します。
アクセス関数:
QCamera::Features | supportedFeatures() const |
通知シグナル:
void | supportedFeaturesChanged() |
QCamera::Featureも参照 。
torchMode : QCamera::TorchMode
このプロパティは、使用されているトーチモードを保持する。
トーチは連続的な光源です。低照度下でのビデオ撮影時に使用できます。トーチモードを有効にすると、通常、現在設定されているフラッシュモードが上書きされます。
アクセス機能:
QCamera::TorchMode | torchMode() const |
void | setTorchMode(QCamera::TorchMode mode) |
通知信号:
void | torchModeChanged() |
QCamera::TorchMode 、QCamera::isTorchModeSupported 、QCamera::flashModeも参照 。
whiteBalanceMode : WhiteBalanceMode
使用中のホワイトバランスモードを返します。
アクセス機能
QCamera::WhiteBalanceMode | whiteBalanceMode() const |
void | setWhiteBalanceMode(QCamera::WhiteBalanceMode mode) |
通知信号
void | whiteBalanceModeChanged() const |
zoomFactor : float
このプロパティは、現在のズームファクターを保持する。
現在のズームファクターを取得または設定します。値はminimumZoomFactor からmaximumZoomFactor の間でクランプされます。
アクセス関数:
float | zoomFactor() const |
void | setZoomFactor(float factor) |
通知シグナル:
void | zoomFactorChanged(float) |
メンバ関数ドキュメント
[explicit]
QCamera::QCamera(QObject *parent = nullptr)
QCamera をparent で構築します。
複数のカメラが利用可能な場合、システムのデフォルト・カメラを選択します。
[explicit]
QCamera::QCamera(QCameraDevice::Position position, QObject *parent = nullptr)
指定されたposition にあるハードウェア・カメラを使用するQCameraを構築する。
例えば、携帯電話では、前面カメラと背面カメラを簡単に選択するために使用できます。
指定されたposition にカメラがない場合、またはposition がQCameraDevice::UnspecifiedPosition の場合、デフォルトのカメラが使用されます。
[explicit]
QCamera::QCamera(const QCameraDevice &cameraDevice, QObject *parent = nullptr)
カメラ記述cameraDevice とparent から QCamera を構築する。
[override virtual noexcept]
QCamera::~QCamera()
カメラオブジェクトを破壊する。
QMediaCaptureSession *QCamera::captureSession() const
このカメラが接続しているキャプチャセッション、またはカメラがキャプチャセッションに接続していない場合はnullptrを返します。
カメラをセッションに接続するには、QMediaCaptureSession::setCamera() を使用します。
[signal]
void QCamera::errorOccurred(QCamera::Error error, const QString &errorString)
このシグナルは、エラー状態がerror に変化したときに発せられる。エラーの説明はerrorString として提供される。
[signal]
void QCamera::exposureCompensationChanged(float value)
露出補正値がvalue に変化したときに発せられる信号。
注: プロパティの通知信号exposureCompensation 。
float QCamera::exposureTime() const
現在の露光時間を秒単位で返す。
注: プロパティexposureTimeのゲッター関数です。
[signal]
void QCamera::exposureTimeChanged(float speed)
カメラの露出speed が変更されたことを示す。
注: プロパティの通知信号exposureTime 。
[signal]
void QCamera::flashReady(bool ready)
フラッシュready のステータスが変更されたことを示すシグナル。
注: プロパティflashReadyのノーティファイアシグナル。
[signal]
void QCamera::focusModeChanged()
focusMode が変更されたときのシグナル。
注: プロパティfocusMode に対するノーティファイアシグナル。
bool QCamera::isActive() const
カメラが現在アクティブであれば true を返します。
注意: プロパティactive のゲッター関数。
bool QCamera::isAvailable() const
カメラが使用可能であればtrueを返す。
[invokable]
bool QCamera::isExposureModeSupported(QCamera::ExposureMode mode) const
mode がサポートされていれば真を返す。
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
[invokable]
bool QCamera::isFlashModeSupported(QCamera::FlashMode mode) const
フラッシュmode がサポートされていれば true を返します。
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
[invokable]
bool QCamera::isFlashReady() const
フラッシュが充電されている場合、true を返します。
注意: この関数はメタ・オブジェクト・システムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
注: プロパティ用ゲッター関数flashReady 。
[invokable]
bool QCamera::isFocusModeSupported(QCamera::FocusMode mode) const
フォーカスmode がカメラでサポートされている場合、true を返す。
FocusModeManual がサポートされていると報告された場合、Feature::FocusDistance の機能もサポートされているとみなされます。
注意: この関数はメタオブジェクトシステムおよび QML から呼び出すことができます。Q_INVOKABLE を参照してください。
[invokable]
bool QCamera::isTorchModeSupported(QCamera::TorchMode mode) const
トーチmode がサポートされていれば true を返す。
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
[invokable]
bool QCamera::isWhiteBalanceModeSupported(QCamera::WhiteBalanceMode mode) const
ホワイトバランスmode がサポートされていれば true を返す。
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
[signal]
void QCamera::isoSensitivityChanged(int value)
感度がvalue に変化したときに発せられるシグナル。
注: プロパティ用ノーティファイアシグナルisoSensitivity 。
float QCamera::manualExposureTime() const
カメラが自動露光時間を使用している場合は-1。
注: プロパティmanualExposureTimeのゲッター関数。
setManualExposureTime()も参照 。
float QCamera::maximumExposureTime() const
最大露光時間(秒)。
int QCamera::maximumIsoSensitivity() const
カメラがサポートする最高ISO感度を返します。
float QCamera::minimumExposureTime() const
最小露光時間(秒)。
int QCamera::minimumIsoSensitivity() const
カメラがサポートする最低ISO感度を返します。
[slot]
void QCamera::setActive(bool active)
active がtrue
の場合はカメラをオンにし、false
の場合はオフにします。
注: active プロパティのセッター関数。
isActive()も参照 。
[slot]
void QCamera::setAutoExposureTime()
自動計算された露光時間を使用する
[slot]
void QCamera::setAutoIsoSensitivity()
自動感度をオンにする
void QCamera::setCameraDevice(const QCameraDevice &cameraDevice)
カメラオブジェクトをcameraDevice で記述された物理カメラデバイスに接続します。デフォルトで構築されたQCameraDevice オブジェクトをcameraDevice として使用すると、カメラはシステムデフォルトのカメラデバイスに接続されます。
カメラデバイスを切り替えると、QCamera の機能が更新されます。さらに、QCamera の制御プロパティ(focusMode,flashMode,focusDistance,zoomFactor など)も以下のように更新されます:
- プロパティが新しいデバイスでサポートされている場合、そのプロパティ値がカ メラ・デバイスに適用されます。
- プロパティがサポートされているが、有効な値の範囲が変更されている場合、プロパティは新しい範囲にクランプされ、カメラデバイスに適用されます。
- 新しいカメラデバイスがプロパティをサポートしていない場合、プロパティ値はデフォルトにリセットされ、カメラデバイスへの変更は行われません。
注: cameraDevice プロパティのセッター関数。
cameraDevice()も参照して ください。
void QCamera::setCameraFormat(const QCameraFormat &format)
format で指定されたフォーマットを使用するようカメラに指示します。これを使用して、録画と画像キャプチャに使用する特定の解像度とフレームレートを定義できます。
注意: Android ターゲットデバイスで FFMPEG バックエンドを使用する場合、YUV420Pフォーマットを要求すると、完全にプレーナな 4:2:0 YUV420P またはセミプレーナな NV12/NV21 のいずれかを受信します。これは、デバイス OEM が実装するコーデックに依存します。
注: cameraFormat プロパティのセッター関数。
cameraFormat()も参照 。
[slot]
void QCamera::setColorTemperature(int colorTemperature)
マニュアルホワイトバランスをcolorTemperature に設定します。 これはwhiteBalanceMode() がWhiteBalanceManual
に設定されている場合に使用されます。 単位はケルビンです。
色温度の設定は、WhiteBalanceManual がサポートされている場合にのみ効果があります。この場合、温度を 0 より大きく設定すると、ホワイトバランスモードは自動的にWhiteBalanceManual に設定されます。温度を 0 に設定すると、ホワイトバランスモードはWhiteBalanceAuto にリセットされます。
注: プロパティ用セッター関数colorTemperature 。
colorTemperature()も参照 。
[slot]
void QCamera::setWhiteBalanceMode(QCamera::WhiteBalanceMode mode)
ホワイトバランスをmode に設定する。
注: プロパティ用セッター関数whiteBalanceMode 。
whiteBalanceMode()も参照して ください。
void QCamera::setZoomFactor(float factor)
毎秒 1 倍の速度で、ズーム倍率factor にズームする。
備考: プロパティzoomFactor に対するセッター関数。
zoomFactor()も参照 。
[slot]
void QCamera::start()
カメラを起動する。
setActive(true)と同じ。
何らかの理由でカメラを起動できない場合、errorOccurred() シグナルを発する。
[slot]
void QCamera::stop()
カメラを停止する。setActive(false)と同じ。
[slot]
void QCamera::zoomTo(float factor, float rate)
rate を使って、ズーム倍率factor にズームする。
rate は、1秒あたりの2の累乗で指定される。ズーム率1の場合、ズーム率1から4まで2秒かかります。
注: 特定のレートを使用することは、すべてのカメラでサポートされているわけではありません。サポートされていない場合、ズームは可能な限り速く行われます。
© 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.