このページでは

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 を使用してフォーカスやズームを調整することができます。minimumZoomFactor およびmaximumZoomFactor プロパティは、サポートされているズーム倍率の範囲を示します。zoomFactor プロパティを使用すると、ズーム倍率を変更することができます。

camera->setZoomFactor(camera->maximumZoomFactor()); // zoom in as much as possible

カメラフレームの生データを取得した後、カメラのハードウェアとソフトウェアは、最終的な画像を生成するためにさまざまな画像処理を行います。これには、周囲の光の色補正、ノイズの低減、および画像に対するその他の調整が含まれます。

これらの処理ステップの多くは、Camera プロパティを通じて制御できます。たとえば、画像処理に使用するホワイトバランス(または色温度)を設定できます。

camera->setWhiteBalanceMode(QCamera::WhiteBalanceManual);
camera->setColorTemperature(5600);

カメラフレームの画像処理に関する詳細については、「カメラの画像処理」を参照してください。

ほとんどのプラットフォームでは、カメラを起動する前にエンドユーザーによる権限の許可が必要です。そのため、アプリケーション開発者はカメラを扱う際に、QCameraPermission クラスを利用することを強く推奨します。以下は、アプリケーションの起動時にエンドユーザーに権限を要求し、許可が得られた場合にカメラを起動する簡単な例です。

qApp->requestPermission(QCameraPermission{}, [](const QPermission &permission) {
    if (permission.status() == Qt::PermissionStatus::Granted)
        camera->setActive(true);
});

詳細については、カメラの概要を参照してください。

注:WebAssemblyプラットフォームでは 、その非同期的な性質上、動画入力のリストの準備が整った時点でQMediaDevices::videoInputsChanged()シグナルが発行されます。ユーザーの権限が必要です。セキュアなhttpsコンテキストでのみ動作します。

メンバ型に関するドキュメント

enum QCamera::Error

この列挙型は、最後のエラーコードを保持します。

定数値説明
QCamera::NoError0エラーは発生していません。
QCamera::CameraError1エラーが発生しました。

enum QCamera::ExposureMode

定数値説明
QCamera::ExposureAuto0自動モード。
QCamera::ExposureManual1手動モード。
QCamera::ExposurePortrait2ポートレート露出モード。
QCamera::ExposureNight3ポートレート露出モード。
QCamera::ExposureSports4スポット露出モード。
QCamera::ExposureSnow5雪の露出モード。
QCamera::ExposureBeach6ビーチ露出モード。
QCamera::ExposureAction7アクションモード。バージョン 5.5 以降
QCamera::ExposureLandscape8風景モード。バージョン5.5以降
QCamera::ExposureNightPortrait9ナイトポートレートモード。バージョン5.5以降
QCamera::ExposureTheatre10劇場モード。バージョン5.5以降
QCamera::ExposureSunset11夕焼けモード。バージョン5.5以降
QCamera::ExposureSteadyPhoto12手ぶれ防止モード。バージョン5.5以降
QCamera::ExposureFireworks13花火モード。バージョン5.5以降
QCamera::ExposureParty14パーティーモード。バージョン5.5以降
QCamera::ExposureCandlelight15キャンドルライトモード。バージョン5.5以降
QCamera::ExposureBarcode16バーコードモード。バージョン5.5以降

enum class QCamera::Feature
flags QCamera::Features

カメラがサポートする一連の機能を説明します。返される値は、以下の組み合わせのいずれかになります。

定数値説明
QCamera::Feature::ColorTemperature0x1このカメラは、カスタムcolorTemperature の設定をサポートしています。
QCamera::Feature::ExposureCompensation0x2このカメラは、カスタムexposureCompensation の設定をサポートしています。
QCamera::Feature::IsoSensitivity0x4このカメラは、カスタムisoSensitivity の設定に対応しています。このカメラは、 の設定に対応しています。
QCamera::Feature::ManualExposureTime0x8このカメラは、manual exposure Time の設定に対応しています。
QCamera::Feature::CustomFocusPoint0x10このカメラは、custom focus point の設定に対応しています。
QCamera::Feature::FocusDistance0x20このカメラは、focusDistance プロパティの設定をサポートしています。

Features 型は、QFlags<Feature> の typedef です。Feature 値の OR 組み合わせを格納します。

enum QCamera::FlashMode

定数値説明
QCamera::FlashOff0Flashはオフです。
QCamera::FlashOn1フラッシュがオンです。
QCamera::FlashAuto2自動フラッシュ。

enum QCamera::FocusMode

定数値説明
QCamera::FocusModeAuto0連続オートフォーカスモード。
QCamera::FocusModeAutoNear1近くの被写体に対する連続オートフォーカスモード。
QCamera::FocusModeAutoFar2遠くの被写体に対する連続オートフォーカスモード。
QCamera::FocusModeHyperfocal3ハイパーフォーカル距離に焦点を合わせ、最大被写界深度を確保します。この距離の半分から無限遠までの距離にあるすべての被写体は、許容範囲内で鮮明に写ります。
QCamera::FocusModeInfinity4厳密に無限遠にピントを合わせる。
QCamera::FocusModeManual5カメラレンズの焦点距離は、focusDistance に従って固定されます。

enum QCamera::TorchMode

定数値説明
QCamera::TorchOff0トーチがオフです。
QCamera::TorchOn1トーチがオンです。
QCamera::TorchAuto2自動トーチ。

enum QCamera::WhiteBalanceMode

定数値説明
QCamera::WhiteBalanceAuto0オートホワイトバランスモード。
QCamera::WhiteBalanceManual1手動ホワイトバランス。このモードでは、setColorTemperature() を使用してホワイトバランスを設定する必要があります。
QCamera::WhiteBalanceSunlight2日光ホワイトバランスモード。
QCamera::WhiteBalanceCloudy3曇り用ホワイトバランスモード。
QCamera::WhiteBalanceShade4日陰のホワイトバランスモード。
QCamera::WhiteBalanceTungsten5タングステン(白熱灯)ホワイトバランスモード。
QCamera::WhiteBalanceFluorescent6蛍光灯ホワイトバランスモード。
QCamera::WhiteBalanceFlash7フラッシュホワイトバランスモード。
QCamera::WhiteBalanceSunset8夕焼けのホワイトバランスモード。

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

active : bool

カメラが現在アクティブであるかどうかを示します。

アクセス機能:

bool isActive() const
void setActive(bool active)

通知信号:

void activeChanged(bool)

cameraDevice : QCameraDevice

このカメラに関連付けられたQCameraDevice オブジェクトを返します。

カメラデバイスを切り替えると、QCamera の機能情報が更新されます。さらに、QCamera の制御プロパティ(focusMode 、flashMode 、focusDistance 、zoomFactor など)は、次のように更新されます。

  • 新しいデバイスでプロパティがサポートされている場合、そのプロパティ値がカメラデバイスに適用されます。
  • プロパティがサポートされているが、有効な値の範囲が変更された場合、そのプロパティは新しい範囲にクリップされ、カメラデバイスに適用されます。
  • 新しいカメラデバイスがプロパティをサポートしていない場合、そのプロパティ値はデフォルトにリセットされ、カメラデバイスには変更が加えられません。

アクセス関数:

QCameraDevice cameraDevice() const
void setCameraDevice(const QCameraDevice &cameraDevice)

通知シグナル:

void cameraDeviceChanged()

cameraFormat : QCameraFormat

カメラが現在使用しているカメラフォーマットを返します。

注: AndroidターゲットデバイスでFFMPEGバックエンドを使用している場合、 YUV420Pフォーマットを要求すると、完全平面型の4:2:0 YUV420P、または半平面型のNV12/NV21のいずれかが返されます。これは、デバイスのOEMが実装しているコーデックによって異なります。

注:macOSでは 、カメラデバイスはオペレーティングシステム上の複数のアプリケーション間で共有されます。つまり、他のアプリケーションによって、このプロパティで設定されたフォーマットが上書きされる可能性があります。 アプリケーション開発者は、このプロパティで指定されたものとは異なる解像度、ピクセル形式、フレームレートのビデオフレームを受信する可能性があることを考慮する必要があります。このプロパティは、他のアプリケーションによってデバイスのフォーマットが変更されても変更されません。このプロパティで指定されたフォーマットは、QCamera を再度有効化することで、デバイスに再適用できます。

アクセス関数:

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) はフレームの中心を指します。

カスタムフォーカスポイントがサポートされているかどうかは、Feature.CustomFocusPoint フラグを指定してsupportedFeatures() をクエリすることで確認できます。

アクセス関数:

QPointF customFocusPoint() const
void setCustomFocusPoint(const QPointF &point)

通知シグナル:

void customFocusPointChanged()

[read-only] error : Error

カメラのエラー状態を返します。

アクセス関数:

QCamera::Error error() const

通知シグナル:

void errorChanged()

QCamera::Errorも参照してください 。

[read-only] errorString : 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 : float

カメラの露光時間(秒単位)。

アクセス機能:

float exposureTime() const

通知シグナル:

void exposureTimeChanged(float speed)

minimumExposureTime()、maximumExposureTime()、およびsetManualExposureTime()も参照してください 。

flashMode : QCamera::FlashMode

このプロパティは、現在使用されているフラッシュモードを保持します。

カメラにフラッシュが搭載されている場合、特定のフラッシュモードを有効にします。

このプロパティにサポートされていないモードを割り当てても、何の効果もありません。

このプロパティは、画像をキャプチャする際にのみ効果があります。QImageCapture

アクセス関数:

QCamera::FlashMode flashMode() const
void setFlashMode(QCamera::FlashMode mode)

通知シグナル:

void flashModeChanged()

関連項目: QCamera::FlashMode 、QCamera::isFlashModeSupported 、およびQCamera::isFlashReady 。

[read-only] flashReady : 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 がQCamera::FocusModeManual に設定されていない状態でこのプロパティに値を割り当てた場合、プロパティはその値を保存しますが、QCamera::FocusModeManual が有効になるまではデバイスには影響しません。

有効範囲 [0, 1] 以外の値を割り当てても、このプロパティには何の影響もありません。

supportedFeatures にFocusDistance フラグが含まれていない場合、このプロパティを設定しようとしても無視されます。

このプロパティは、カメラがオートフォーカスモードのときは更新されません。

デフォルト値は 1 です。

アクセス関数:

float focusDistance() const
void setFocusDistance(float d)

通知シグナル:

void focusDistanceChanged(float)

focusMode : FocusMode

このプロパティには、カメラの現在のフォーカスモードが格納されます。

このプロパティには、カメラデバイスのフォーカスモードを制御する値が格納されます。すべてのオートフォーカスモードにおいて、カメラデバイスは継続的にフォーカス調整を行います。

カメラデバイスが特定のフォーカスモードをサポートしているかどうかを確認するには、対応するFocusMode の値をisFocusModeSupported 関数のパラメータとして渡します。フォーカスモードの値がサポートされていない場合、この関数はfalseを返します。このプロパティにサポートされていないモードを割り当てても、何の効果もありません。

focusModeプロパティをQCamera::FocusModeManual に設定すると、focusDistance に従ってレンズがフォーカスを固定します。

アクセス関数:

QCamera::FocusMode focusMode() const
void setFocusMode(QCamera::FocusMode mode)

通知シグナル:

関連項目: ` isFocusModeSupported()`。

[read-only] focusPoint : QPointF

オートフォーカスシステムが現在、ピント合わせに使用しているポイントを返します。

アクセス関数:

QPointF focusPoint() const

通知シグナル:

void focusPointChanged()

[read-only] isoSensitivity : 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 : float

最大ズーム倍率を返します。

ズームに対応していないカメラの場合、1.0 が返されます。

アクセス関数:

float maximumZoomFactor() const

Notifierシグナル:

void maximumZoomFactorChanged(float)

[read-only] minimumZoomFactor : float

最小のズーム倍率を返します。

ズームに対応していないカメラでは、1.0 となります。

アクセス関数:

float minimumZoomFactor() const

Notifierシグナル:

void minimumZoomFactorChanged(float)

[read-only] supportedFeatures : 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)

parent を使用して QCamera を構築します。

利用可能なカメラが複数ある場合、システム上のデフォルトのカメラを選択します。

[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 形式の露出がサポートされている場合、true を返します。

注:この関数は 、メタオブジェクトシステムを介して、またはQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

[invokable] bool QCamera::isFlashModeSupported(QCamera::FlashMode mode) const

フラッシュのmode がサポートされている場合、trueを返します。

注:この関数は 、メタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

[invokable] bool QCamera::isFlashReady() const

flashが充電されている場合、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 で記述された物理カメラデバイスに接続します。cameraDevice としてデフォルトで生成されたQCameraDevice オブジェクトを使用すると、カメラがシステムのデフォルトのカメラデバイスに接続されます。

カメラデバイスを切り替えると、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)

factor のズーム倍率まで、1 秒あたり 1 倍の速度でズームします。

注: プロパティ `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秒かかります。

注: 特定のレートを使用することは 、すべてのカメラでサポートされているわけではありません。サポートされていない場合、ズームは可能な限り速い速度で行われます。

© 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.