QImageCapture Class
QImageCapture 클래스는 미디어 콘텐츠를 녹화하는 데 사용됩니다. 더 보기...
| 헤더: | #include <QImageCapture> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
| qmake: | QT += multimedia |
| 상속: | 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() override |
| 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;
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 : Error
현재 오류 상태를 반환합니다.
액세스 함수:
| QImageCapture::Error | error() const |
알림 신호:
| void | errorChanged() |
errorString()도 참조하십시오 .
[read-only] errorString : QString
현재 오류 상태를 설명하는 문자열을 반환합니다.
액세스 함수:
| QString | errorString() const |
알림 신호:
| void | errorChanged() |
error()도 참조하십시오 .
fileFormat : FileFormat
이 속성은 이미지 형식을 나타냅니다.
액세스 함수:
| QImageCapture::FileFormat | fileFormat() const |
| void | setFileFormat(QImageCapture::FileFormat format) |
알림 신호:
| void | fileFormatChanged() |
metaData : QMediaMetaData
이 속성은 이미지에 삽입될 메타데이터를 포함합니다.
참고: 타임스탬프나 위치와 같은추가 필드는 카메라 백엔드에서 추가될 수 있습니다.
액세스 함수:
| QMediaMetaData | metaData() const |
| void | setMetaData(const QMediaMetaData &metaData) |
알림 신호:
| void | metaDataChanged() |
quality : Quality
이 속성은 이미지 인코딩 품질을 나타냅니다.
액세스 함수:
| QImageCapture::Quality | quality() const |
| void | setQuality(QImageCapture::Quality quality) |
알림 신호:
| void | qualityChanged() |
[read-only] readyForCapture : bool
카메라가 즉시 이미지를 촬영할 준비가 되어 있으면 ` true `를 반환합니다. ` readyForCapture `가 ` false `인 상태에서 ` capture()`를 호출하는 것은 허용되지 않으며 오류가 발생합니다.
액세스 함수:
| bool | isReadyForCapture() const |
알림 신호:
| void | readyForCaptureChanged(bool ready) |
[read-only] supportedFormats : const QList<FileFormat>
이 속성은 지원되는 파일 형식 목록을 포함합니다.
액세스 함수:
| QList<QImageCapture::FileFormat> | supportedFormats() |
멤버 함수 설명서
[explicit] QImageCapture::QImageCapture(QObject *parent = nullptr)
parent 를 기반으로, 카메라에서 생성된 개별 정지 이미지를 캡처할 수 있는 이미지 캡처 객체를 생성합니다.
이미지를 캡처하려면 이미지 캡처 객체와 QCamera 를 모두 캡처 세션에 연결해야 합니다.
[override virtual noexcept] QImageCapture::~QImageCapture()
이미지를 삭제하고 캡처된 객체를 제거합니다.
void QImageCapture::addMetaData(const QMediaMetaData &metaData)
기존 메타데이터에 추가적인 ‘ metaData ’ 정보를 추가하여, 캡처된 이미지에 삽입합니다.
[slot] int QImageCapture::capture()
이미지를 캡처하여 QImage 형식으로 사용할 수 있게 합니다. 이 작업은 대부분의 경우 비동기적으로 수행되며, 그 후 QImageCapture::imageExposed(), QImageCapture::imageCaptured() 또는 QImageCapture::error() 신호가 발생합니다.
QImageCapture::capture는 imageExposed(), imageCaptured() 및 imageSaved() 시그널과 함께 사용되는 캡처 ID 매개변수를 반환합니다.
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 imageExposed(), () 및 () 신호와 함께 사용되는 캡처 ID 매개변수를 반환합니다. 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 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 id 를 가진 프레임이 fileName 에 저장되었을 때 발생되는 신호입니다.
bool QImageCapture::isAvailable() const
이미지 캡처 서비스가 사용 가능한 상태이면 true를 반환합니다.
[signal] void QImageCapture::readyForCaptureChanged(bool ready)
카메라의 캡처 상태( ready )가 변경되었음을 알리는 신호입니다.
참고: 속성 ` readyForCapture`에 대한알림 신호입니다.
QSize QImageCapture::resolution() const
인코딩된 이미지의 해상도를 반환합니다.
setResolution()도 참조하십시오 .
[signal] void QImageCapture::resolutionChanged()
이미지 해상도가 변경될 때 신호를 보냅니다.
void QImageCapture::setFileFormat(QImageCapture::FileFormat format)
이미지 format 를 설정합니다.
지원되지 않는 FileFormat 값을 할당해도 아무런 효과가 없습니다.
참고: fileFormat 속성에 대한세터 함수입니다.
fileFormat() 및 supportedFormats도 참조하십시오 .
void QImageCapture::setMetaData(const QMediaMetaData &metaData)
캡처된 이미지에 삽입될 기존 메타데이터를 metaData 세트로 대체합니다.
참고: metaData 속성에 대한세터 함수입니다.
metaData()도 참조하십시오 .
void QImageCapture::setQuality(QImageCapture::Quality 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()
지원되는 파일 형식 목록을 반환합니다.
참고: supportedFormats 속성에 대한게터 함수입니다.
FileFormat도 참조하십시오 .
© 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.