Camera QML Type
フォーカスやズームに関連するカメラ設定用のインターフェース。詳細...
| Import Statement: | import QtMultimedia |
| In C++: | QCamera |
プロパティ
- active : bool
- cameraDevice : cameraDevice
- cameraFormat : cameraFormat
- colorTemperature : int
- customFocusPoint : point
- error : enumeration
- errorString : string
- exposureCompensation : real
- exposureMode : enumeration
- exposureTime : real
- flashMode : enumeration
- flashReady : bool
- focusDistance : real
- focusMode : enumeration
- focusPoint : point
- isoSensitivity : int
- manualExposureTime : real
- manualIsoSensitivity : int
- maximumZoomFactor : real
- minimumZoomFactor : real
- supportedFeatures : enumeration
- torchMode : enumeration
- whiteBalanceMode : enumeration
- zoomFactor : real
信号
- void errorOccurred(Camera::Error error, string errorString)
方法
- bool isExposureModeSupported(ExposureMode mode)
- bool isFlashModeSupported(FlashMode mode)
- bool isFlashReady()
- bool isFocusModeSupported(FocusMode mode)
- bool isTorchModeSupported(TorchMode mode)
- bool isWhiteBalanceModeSupported(WhiteBalanceMode mode)
- void start()
- void stop()
- void zoomTo(factor, rate)
詳細な説明
`Camera`要素は、CaptureSession 内で動画の録画や画像の撮影に使用できます。
MediaDevices を使用して、利用可能なカメラの一覧を表示し、使用するカメラを選択できます。
MediaDevices {
id: mediaDevices
}
CaptureSession {
camera: Camera {
cameraDevice: mediaDevices.defaultVideoInput
}
}対応しているハードウェアでは、Camera を使用してフォーカスやズームを調整できます。minimumZoomFactor およびmaximumZoomFactor プロパティは、サポートされているズーム倍率の範囲を示します。zoomFactor プロパティを使用すると、ズーム倍率を変更できます。
Camera {
zoomFactor: maximumZoomFactor // zoom in as much as possible
}カメラフレームの生データをキャプチャした後、カメラのハードウェアおよびソフトウェアは、最終的な画像を生成するためにさまざまな画像処理を行います。これには、周囲光の色補正、ノイズの低減、および画像に対するその他の調整が含まれます。
これらの処理ステップの多くは、Camera プロパティを通じて制御できます。たとえば、画像処理に使用するホワイトバランス(または色温度)を設定できます。
Camera {
whiteBalanceMode: Camera.WhiteBalanceManual
colorTemperature: 5600
}カメラフレームの画像処理に関する詳細については、「カメラの画像処理」を参照してください。
ほとんどのプラットフォームでは、カメラを起動する前にエンドユーザーによる権限の許可が必要です。そのため、アプリケーション開発者はカメラを扱う際に「CameraPermission 」コンポーネントを利用することを強く推奨します。以下は、アプリケーションの起動時にエンドユーザーに権限を要求し、許可された場合にカメラを起動する簡単な例です。
CameraPermission {
id: cameraPermission
}
Camera {
active: cameraPermission.status === Qt.PermissionStatus.Granted
}
Component.onCompleted: cameraPermission.request()詳細については、カメラの概要を参照してください。
プロパティのドキュメント
active : bool
カメラが現在アクティブであるかどうかを示します。
cameraDevice : cameraDevice
現在アクティブなカメラデバイスを取得または設定します。
カメラデバイスを切り替えると、Camera の機能が更新されます。さらに、Camera の制御プロパティ(focusMode 、flashMode 、focusDistance 、zoomFactor など)は、次のように更新されます。
- 新しいデバイスでプロパティがサポートされている場合、そのプロパティ値がカメラデバイスに適用されます。
- プロパティがサポートされているが、有効な値の範囲が変更された場合、プロパティは新しい範囲にクリップされ、カメラデバイスに適用されます。
- 新しいカメラデバイスがプロパティをサポートしていない場合、プロパティ値はデフォルトにリセットされ、カメラデバイスには変更が加えられません。
cameraFormat : cameraFormat
現在アクティブなカメラフォーマットを取得または設定します。
注: AndroidターゲットデバイスでFFMPEGバックエンドを使用する場合、 YUV420Pフォーマットを要求すると、完全平面(fully planar)の4:2:0 YUV420P、または半平面(semi-planar)のNV12/NV21のいずれかが返されます。これは、デバイスのOEMが実装しているコーデックによって異なります。
注: macOSでは 、カメラデバイスはオペレーティングシステム上の複数のアプリケーション間で共有されます。つまり、他のアプリケーションによって、このプロパティで設定されたフォーマットが上書きされる可能性があります。 アプリケーション開発者は、このプロパティで指定されたものとは異なる解像度、ピクセル形式、フレームレートの動画フレームを受信する可能性があることを考慮する必要があります。このプロパティは、他のアプリケーションによってデバイスのフォーマットが変更されても変更されません。Camera を再度有効にすることで、このプロパティで指定されたフォーマットをデバイスに再適用できます。
「cameraDevice::videoFormats」も参照してください 。
colorTemperature : int
現在の色温度を取得または設定します。
色温度の設定は、WhiteBalanceManual がサポートされている場合にのみ有効です。この場合、色温度を 0 より大きい値に設定すると、ホワイトバランスモードは自動的に WhiteBalanceManual に設定されます。色温度を 0 に設定すると、ホワイトバランスモードは WhiteBalanceAuto にリセットされます。
customFocusPoint : point
このプロパティは、フレーム座標系における相対座標で表されたカスタムフォーカスポイントの位置を保持します。つまり、QPointF(0,0) はフレームの左上隅を指し、QPointF(0.5,0.5) はフレームの中心を指します。
supportedFeatures() メソッドに Feature.CustomFocusPoint フラグを指定してクエリを実行することで、カスタムフォーカスポイントがサポートされているかどうかを確認できます。
error : enumeration [read-only]
カメラのエラー状態を返します。
| 定数 | 説明 |
|---|---|
Camera.NoError | エラーは発生していません。 |
Camera.CameraError | エラーが発生しました。 |
errorString : string [read-only]
カメラのエラー状態を説明する、人間が読みやすい文字列を返します。
exposureCompensation : real
露出補正値をEV単位で取得または設定します。
露出補正プロパティを使用すると、自動的に計算された露出値を調整できます。
exposureMode : enumeration
使用中の露出モード。
| 一定 | 説明 |
|---|---|
Camera.ExposureAuto | 自動モード。 |
Camera.ExposureManual | 手動モード。説明 |
Camera.ExposurePortrait | ポートレート露出モード。 |
Camera.ExposureNight | 夜景モード。 |
Camera.ExposureSports | スポット露出モード。 |
Camera.ExposureSnow | 雪の露出モード。 |
Camera.ExposureBeach | ビーチ露出モード。 |
Camera.ExposureAction | アクションモード。バージョン 5.5 以降 |
Camera.ExposureLandscape | 風景モード。バージョン 5.5 以降 |
Camera.ExposureNightPortrait | ナイトポートレートモード。バージョン5.5以降 |
Camera.ExposureTheatre | 劇場モード。バージョン5.5以降 |
Camera.ExposureSunset | 夕焼けモード。バージョン5.5以降 |
Camera.ExposureSteadyPhoto | 手ぶれ防止モード。バージョン5.5以降 |
Camera.ExposureFireworks | 花火モード。バージョン5.5以降 |
Camera.ExposureParty | パーティーモード。バージョン5.5以降 |
Camera.ExposureCandlelight | キャンドルライトモード。バージョン5.5以降 |
Camera.ExposureBarcode | バーコードモード。バージョン5.5以降 |
isExposureModeSupported()も参照してください 。
exposureTime : real [read-only]
カメラの露光時間を秒単位で返します。
manualExposureTimeも参照してください 。
flashMode : enumeration
カメラにフラッシュが搭載されている場合、特定のフラッシュモードを取得または設定します。
このプロパティにサポートされていないモードを指定しても、何の効果もありません。
このプロパティは、ImageCapture
| Constant | 説明 |
|---|---|
Camera.FlashOff | フラッシュはオフです。 |
Camera.FlashOn | フラッシュがオンです。 |
Camera.FlashAuto | 自動フラッシュ。 |
isFlashModeSupported()、isFlashReady()、およびflashReadyも参照してください 。
flashReady : bool [read-only]
フラッシュの充電が完了し、使用可能な状態であるかどうかを示します。
focusDistance : real
このプロパティは、カメラデバイスがマニュアルフォーカスモードで動作する際のレンズの焦点距離を定義します。有効な値の範囲は 0 から 1 までで、0 は可能な限り近い焦点距離、1 は最も遠い焦点距離を表します。最も遠い点は通常、無限遠ですが、すべてのデバイスでそうであるとは限りません。
このプロパティは、focusMode がCamera.FocusModeManual に設定されており、かつsupportedFeatures にCamera.FocusDistance フラグが含まれている場合にのみ、デバイスに適用されます。
focusMode がCamera.FocusModeManual に設定されていない状態でこのプロパティに値を割り当てた場合、プロパティはその値を保存しますが、Camera.FocusModeManual が有効になるまではデバイスには影響しません。
有効範囲 [0, 1] 以外の値を割り当てても、このプロパティには何の影響もありません。
supportedFeatures にCamera.FocusDistance フラグが含まれていない場合、このプロパティを設定しようとしても無視されます。
このプロパティは、カメラがオートフォーカスモードのときは更新されません。
デフォルト値は 1 です。
focusMode : enumeration
このプロパティには、カメラデバイスのフォーカスモードを制御する値が格納されます。すべてのオートフォーカスモードにおいて、カメラデバイスは継続的にフォーカス調整を行います。
注: オートフォーカスモードにおいて 、かつサポートされている場合、focusPoint プロパティは、フォーカスが合っている画像領域に関する情報と制御を提供します。
| 定数 | 説明 |
|---|---|
Camera.FocusModeAuto | 連続オートフォーカスモード。 |
Camera.FocusModeAutoNear | 連続オートフォーカス。カメラに近い被写体を優先します。 |
Camera.FocusModeAutoFar | カメラから遠くにある被写体を優先する連続オートフォーカス。 |
Camera.FocusModeHyperfocal | ハイパーフォーカル距離に焦点を合わせ、最大の被写界深度を確保します。この距離の半分から無限遠までの範囲にあるすべての被写体は、許容範囲内で鮮明に写ります。 |
Camera.FocusModeInfinity | 厳密に無限遠に焦点を合わせます。 |
Camera.FocusModeManual | レンズの焦点距離は、focusDistance で指定された値に設定されます。 |
カメラデバイスが特定のフォーカスモードをサポートしているかどうかを確認するには、対応する `focusMode ` の値をパラメータとして `isFocusModeSupported()` 関数に渡します。フォーカスモードの値がサポートされていない場合、この関数は `false ` を返します。このプロパティにサポートされていないモードを割り当てても、何の効果もありません。
focusModeプロパティをCamera.FocusModeManual に設定すると、focusDistance に従ってレンズがフォーカス位置に固定されます。
「isFocusModeSupported()」も参照してください 。
focusPoint : point [read-only]
オートフォーカスシステムが現在、ピント合わせの対象として使用しているポイントを返します。
isoSensitivity : int [read-only]
カメラが現在使用しているISO感度を示します。
manualExposureTime : real
手動の露光時間を取得または設定します。
このプロパティを-1(デフォルト)に設定すると、カメラが自動的に露光時間を決定します。
manualIsoSensitivity : int
手動で設定されたISO感度について説明します
このプロパティを-1(デフォルト値)に設定すると、カメラがISO感度を自動的に調整することを意味します。
maximumZoomFactor : real [read-only]
このプロパティは、サポートされている最大ズーム倍率を保持します。
ズーム機能に対応していないカメラの場合、この値は1.0 となります。
minimumZoomFactor : real [read-only]
このプロパティは、サポートされている最小ズーム倍率を保持します。
ズーム機能をサポートしていないカメラの場合、この値は1.0 となります。
supportedFeatures : enumeration [read-only]
このカメラがサポートしている機能を返します。値はビットマスクであり、以下のフラグのいずれかが含まれる場合があります。これは、機能値の論理和(OR)の組み合わせとして格納されます。
| 定数 | 説明 |
|---|---|
Camera.ColorTemperature | このカメラは、カスタムcolorTemperature の設定をサポートしています。 |
Camera.ExposureCompensation | このカメラは、カスタムexposureCompensation の設定をサポートしています。このカメラは、カスタム の設定をサポートしています。 |
Camera.IsoSensitivity | このカメラは、カスタムisoSensitivity の設定をサポートしています。このカメラは、 の設定をサポートしています。 |
Camera.ManualExposureTime | このカメラは、manual exposure Time の設定に対応しています。 |
Camera.CustomFocusPoint | このカメラは、custom focus point の設定に対応しています。 |
Camera.FocusDistance | このカメラは、focusDistance プロパティの設定に対応しています。 |
torchMode : enumeration
現在使用中のトーチモードを取得または設定します。
トーチとは、連続した光源のことです。暗い場所での動画撮影時に使用できます。トーチモードを有効にすると、通常、現在設定されているフラッシュモードは上書きされます。
| 定常 | 説明 |
|---|---|
Camera.TorchOff | トーチはオフです。 |
Camera.TorchOn | トーチがオンです。 |
Camera.TorchAuto | 自動トーチ。 |
isTorchModeSupported() およびflashModeも参照してください 。
whiteBalanceMode : enumeration
使用中のホワイトバランスモードを取得または設定します。
| 定数 | 説明 |
|---|---|
Camera.WhiteBalanceAuto | 自動ホワイトバランスモード。 |
Camera.WhiteBalanceManual | 手動ホワイトバランス。このモードでは、setColorTemperature() を使用してホワイトバランスを設定する必要があります。 |
Camera.WhiteBalanceSunlight | 日光ホワイトバランスモード。 |
Camera.WhiteBalanceCloudy | 曇り用ホワイトバランスモード。 |
Camera.WhiteBalanceShade | 日陰のホワイトバランスモード。 |
Camera.WhiteBalanceTungsten | タングステン(白熱灯)ホワイトバランスモード。 |
Camera.WhiteBalanceFluorescent | 蛍光灯ホワイトバランスモード。 |
Camera.WhiteBalanceFlash | フラッシュホワイトバランスモード。 |
Camera.WhiteBalanceSunset | 夕焼けのホワイトバランスモード。 |
isWhiteBalanceModeSupported()も参照してください 。
zoomFactor : real
現在のズーム倍率を取得または設定します。値は、minimumZoomFactor からmaximumZoomFactor の範囲に制限されます。
シグナルのドキュメント
void errorOccurred(Camera::Error error, string errorString)
このシグナルは、エラー状態が `error` に変更されたときに発信されます。エラーの説明は、errorString として提供されます。
注: 対応するハンドラは onErrorOccurred です。
メソッドのドキュメント
bool isExposureModeSupported(ExposureMode mode)
mode の露出がサポートされている場合、true を返します。
bool isFlashModeSupported(FlashMode mode)
フラッシュのmode がサポートされている場合、trueを返します。
bool isFlashReady()
フラッシュが充電されている場合、trueを返します。
bool isFocusModeSupported(FocusMode mode)
カメラがmode のフォーカスをサポートしている場合、true を返します。
Camera.FocusModeManual がサポートされていると報告された場合、機能Camera.FocusDistance も同様にサポートされているものとみなされます。
bool isTorchModeSupported(TorchMode mode)
「mode 」というトーチがサポートされている場合、true を返します。
bool isWhiteBalanceModeSupported(WhiteBalanceMode mode)
ホワイトバランス `mode ` がサポートされている場合、true を返します。
void start()
カメラを起動します。
activeプロパティをtrueに設定するのと同じです。
何らかの理由でカメラを起動できない場合、errorOccurred() シグナルが発信されます。
void stop()
カメラを停止します。active プロパティを false に設定する場合と同じです。
void zoomTo(factor, rate)
rate を使用して、ズーム倍率factor までズームします。
rate は、1秒あたりの2の累乗で指定されます。レートが1の場合、ズーム倍率1から4になるまでに2秒かかります。
注: 特定のレートを使用することは 、すべてのカメラでサポートされているわけではありません。サポートされていない場合、ズームは可能な限り高速に行われます。
© 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.