이 페이지에서

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::NoError0오류 없음.
QImageCapture::NotReadyError1서비스가 아직 캡처 준비가 되어 있지 않습니다.
QImageCapture::ResourceError2장치가 준비되지 않았거나 사용할 수 없습니다.
QImageCapture::OutOfSpaceError3장치에 남은 공간이 없습니다.
QImageCapture::NotSupportedFeatureError4장치가 정지 이미지 캡처를 지원하지 않습니다.
QImageCapture::FormatError5현재 형식은 지원되지 않습니다.

enum QImageCapture::FileFormat

다음 이미지 형식 중 하나를 선택하세요:

상수값설명
QImageCapture::UnspecifiedFormat0형식 미지정
QImageCapture::JPEG1.jpg .jpeg 형식
QImageCapture::PNG2.png 형식
QImageCapture::WebP3.webp 형식
QImageCapture::Tiff4.tiff 형식

enum QImageCapture::Quality

품질 인코딩 레벨을 열거합니다.

상수값
QImageCapture::VeryLowQuality0
QImageCapture::LowQuality1
QImageCapture::NormalQuality2
QImageCapture::HighQuality3
QImageCapture::VeryHighQuality4

속성 설명

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