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->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::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 | 이 카메라는 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 객체를 반환합니다.
카메라 장치를 전환할 때, ` 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) |
알림 신호:
| void | focusModeChanged() |
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 |
알림 신호:
| void | maximumZoomFactorChanged(float) |
[read-only] minimumZoomFactor : float
최소 확대 배율을 반환합니다.
줌 기능을 지원하지 않는 카메라의 경우 이 값은 ` 1.0 `가 됩니다.
액세스 함수:
| float | minimumZoomFactor() const |
알림 신호:
| 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
플래시가 충전된 경우 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 로 설정되었을 때 사용됩니다. 단위는 켈빈(Kelvin)입니다.
색온도 설정은 WhiteBalanceManual 가 지원되는 경우에만 효과가 있습니다. 이 경우, 색온도를 0보다 큰 값으로 설정하면 화이트 밸런스 모드가 자동으로 WhiteBalanceManual 로 설정됩니다. 색온도를 0으로 설정하면 화이트 밸런스 모드가 WhiteBalanceAuto 로 재설정됩니다.
참고: colorTemperature 속성에 대한Setter 함수입니다.
참조: 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 는 초당 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.