26 Q_PROPERTY(
bool readyForCapture READ isReadyForCapture NOTIFY readyForCaptureChanged)
27 Q_PROPERTY(QMediaMetaData metaData READ metaData WRITE setMetaData NOTIFY metaDataChanged)
28 Q_PROPERTY(Error error READ error NOTIFY errorChanged)
29 Q_PROPERTY(QString errorString READ errorString NOTIFY errorChanged)
30 Q_PROPERTY(FileFormat fileFormat READ fileFormat WRITE setFileFormat NOTIFY fileFormatChanged)
31 Q_PROPERTY(Quality quality READ quality WRITE setQuality NOTIFY qualityChanged)
32 Q_PROPERTY(QList<FileFormat> supportedFormats READ supportedFormats CONSTANT REVISION(6, 10))
40 NotSupportedFeatureError,
65 explicit QImageCapture(QObject *parent =
nullptr);
66 ~QImageCapture() override;
68 bool isAvailable()
const;
70 QMediaCaptureSession *captureSession()
const;
73 QString errorString()
const;
75 bool isReadyForCapture()
const;
77 FileFormat fileFormat()
const;
78 void setFileFormat(FileFormat format);
80 static QList<FileFormat> supportedFormats();
81 static QString fileFormatName(FileFormat c);
82 static QString fileFormatDescription(FileFormat c);
84 QSize resolution()
const;
85 void setResolution(
const QSize &);
86 void setResolution(
int width,
int height);
88 Quality quality()
const;
89 void setQuality(Quality quality);
91 QMediaMetaData metaData()
const;
92 void setMetaData(
const QMediaMetaData &metaData);
93 void addMetaData(
const QMediaMetaData &metaData);
96 int captureToFile(
const QString &location = QString());
101 void errorOccurred(
int id, QImageCapture::Error error,
const QString &errorString);
103 void readyForCaptureChanged(
bool ready);
104 void metaDataChanged();
106 void fileFormatChanged();
107 void qualityChanged();
108 void resolutionChanged();
110 void imageExposed(
int id);
111 void imageCaptured(
int id,
const QImage &preview);
112 void imageMetadataAvailable(
int id,
const QMediaMetaData &metaData);
113 void imageAvailable(
int id,
const QVideoFrame &frame);
114 void imageSaved(
int id,
const QString &fileName);
118 QImageCapture(QCamera *) =
delete;
120 friend class QMediaCaptureSession;
121 class QPlatformImageCapture *platformImageCapture();
122 void setCaptureSession(QMediaCaptureSession *session);
123 QImageCapturePrivate *d_ptr;
124 Q_DISABLE_COPY(QImageCapture)
125 Q_DECLARE_PRIVATE(QImageCapture)
126 Q_PRIVATE_SLOT(d_func(),
void _q_error(
int,
int,
const QString &))