Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QImageCapture Class Reference

\inmodule QtMultimedia More...

#include <qimagecapture.h>

Inheritance diagram for QImageCapture:
Collaboration diagram for QImageCapture:

Public Types

enum  Error {
  NoError , NotReadyError , ResourceError , OutOfSpaceError ,
  NotSupportedFeatureError , FormatError
}
 \value NoError No Errors. More...
enum  Quality {
  VeryLowQuality , LowQuality , NormalQuality , HighQuality ,
  VeryHighQuality
}
 Enumerates quality encoding levels. More...
enum  FileFormat {
  UnspecifiedFormat , JPEG , PNG , WebP ,
  Tiff , LastFileFormat = Tiff
}
 Choose one of the following image formats: More...

Public Slots

int captureToFile (const QString &location=QString())
 Capture the image and save it to file.
int capture ()
 Capture the image and make it available as a QImage.
Public Slots inherited from QObject
void deleteLater ()
 \threadsafe

Signals

void errorChanged ()
void errorOccurred (int id, QImageCapture::Error error, const QString &errorString)
 Signals that the capture request id has failed with an error and errorString description.
void readyForCaptureChanged (bool ready)
 Signals that a camera's ready for capture state has changed.
void metaDataChanged ()
void fileFormatChanged ()
void qualityChanged ()
void resolutionChanged ()
 Signals when the image resolution changes.
void imageExposed (int id)
 Signal emitted when the frame with request id was exposed.
void imageCaptured (int id, const QImage &preview)
 Signal emitted when the frame with request id was captured, but not processed and saved yet.
void imageMetadataAvailable (int id, const QMediaMetaData &metaData)
 Signals that an image identified by id has metaData.
void imageAvailable (int id, const QVideoFrame &frame)
 Signal emitted when the frame with request id is available.
void imageSaved (int id, const QString &fileName)
 Signal emitted when QImageCapture::CaptureToFile is set and the frame with request id was saved to fileName.
Signals inherited from QObject
void destroyed (QObject *=nullptr)
 This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked.
void objectNameChanged (const QString &objectName, QPrivateSignal)
 This signal is emitted after the object's name has been changed.

Public Member Functions

 QImageCapture (QObject *parent=nullptr)
 Constructs a image capture object, from a parent, that can capture individual still images produced by a camera.
 ~QImageCapture () override
 Destroys images capture object.
bool isAvailable () const
 Returns true if the images capture service ready to use.
QMediaCaptureSessioncaptureSession () const
 Returns the capture session this camera is connected to, or a nullptr if the camera is not connected to a capture session.
Error error () const
QString errorString () const
bool isReadyForCapture () const
FileFormat fileFormat () const
void setFileFormat (FileFormat format)
 Sets the image format.
QSize resolution () const
 Returns the resolution of the encoded image.
void setResolution (const QSize &)
 Sets the resolution of the encoded image.
void setResolution (int width, int height)
 Sets the width and height of the resolution of the encoded image.
Quality quality () const
void setQuality (Quality quality)
 Sets the image encoding quality.
QMediaMetaData metaData () const
void setMetaData (const QMediaMetaData &metaData)
 Replaces any existing meta data, to be embedded into the captured image, with a set of metaData.
void addMetaData (const QMediaMetaData &metaData)
 Adds additional metaData to any existing meta data, that is embedded into the captured image.
Public Member Functions inherited from QObject
Q_INVOKABLE QObject (QObject *parent=nullptr)
 Constructs an object with parent object parent.
virtual ~QObject ()
 Destroys the object, deleting all its child objects.
virtual bool event (QEvent *event)
 This virtual function receives events to an object and should return true if the event e was recognized and processed.
virtual bool eventFilter (QObject *watched, QEvent *event)
 Filters events if this object has been installed as an event filter for the watched object.
QString objectName () const
Q_WEAK_OVERLOAD void setObjectName (const QString &name)
 Sets the object's name to name.
void setObjectName (QAnyStringView name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
QBindable< QStringbindableObjectName ()
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false.
bool isWindowType () const
 Returns true if the object is a window; otherwise returns false.
bool isQuickItemType () const
 Returns true if the object is a QQuickItem; otherwise returns false.
bool isQmlObjectType () const
 Returns whether the object has been created by the QML engine or ownership has been explicitly set via QJSEngine::setObjectOwnership().
bool signalsBlocked () const noexcept
 Returns true if signals are blocked; otherwise returns false.
bool blockSignals (bool b) noexcept
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it).
QThreadthread () const
 Returns the thread in which the object lives.
bool moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
 Changes the thread affinity for this object and its children and returns true on success.
int startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer)
 This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds.
int startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer)
void killTimer (int id)
 Kills the timer with timer identifier, id.
void killTimer (Qt::TimerId id)
template<typename T>
findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object.
template<typename T>
QList< T > findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects.
template<typename T>
findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
template<typename T>
QList< T > findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
const QObjectListchildren () const
 Returns a list of child objects.
void setParent (QObject *parent)
 Makes the object a child of parent.
void installEventFilter (QObject *filterObj)
 Installs an event filter filterObj on this object.
void removeEventFilter (QObject *obj)
 Removes an event filter object obj from this object.
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
bool disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const
bool disconnect (const QObject *receiver, const char *member=nullptr) const
void dumpObjectTree () const
 Dumps a tree of children to the debug output.
void dumpObjectInfo () const
 Dumps information about signal connections, etc.
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value.
bool setProperty (const char *name, QVariant &&value)
QVariant property (const char *name) const
 Returns the value of the object's name property.
QList< QByteArraydynamicPropertyNames () const
QBindingStoragebindingStorage ()
const QBindingStoragebindingStorage () const
QObjectparent () const
 Returns a pointer to the parent object.
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false.

Static Public Member Functions

static QList< FileFormatsupportedFormats ()
static QString fileFormatName (FileFormat c)
 Returns the name of the given format, f.
static QString fileFormatDescription (FileFormat c)
 Returns the description of the given file format, f.
Static Public Member Functions inherited from QObject
static QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 \threadsafe
static QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
template<typename Func1, typename Func2>
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection)
template<typename Func1, typename Func2>
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot)
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 \threadsafe
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
static bool disconnect (const QMetaObject::Connection &)
 Disconnect a connection.
template<typename Func1, typename Func2>
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot)
template<typename Func1>
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero)

Properties

bool readyForCapture
 Holds true if the camera is ready to capture an image immediately.
QMediaMetaData metaData
 \qmlproperty mediaMetaData QtMultimedia::ImageCapture::metaData
Error error
 \qmlproperty enumeration QtMultimedia::ImageCapture::error
QString errorString
 \qmlproperty string QtMultimedia::ImageCapture::errorString
FileFormat fileFormat
 \qmlproperty enumeration QtMultimedia::ImageCapture::fileFormat
Quality quality
 \qmlproperty enumeration QtMultimedia::ImageCapture::quality
QList< FileFormatsupportedFormats
 \qmlproperty list<FileFormat> QtMultimedia::ImageCapture::supportedFormats
Properties inherited from QObject
QString objectName
 the name of this object

Friends

class QMediaCaptureSession

Additional Inherited Members

Protected Member Functions inherited from QObject
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr.
int senderSignalIndex () const
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal.
bool isSignalConnected (const QMetaMethod &signal) const
virtual void timerEvent (QTimerEvent *event)
 This event handler can be reimplemented in a subclass to receive timer events for the object.
virtual void childEvent (QChildEvent *event)
 This event handler can be reimplemented in a subclass to receive child events.
virtual void customEvent (QEvent *event)
 This event handler can be reimplemented in a subclass to receive custom events.
virtual void connectNotify (const QMetaMethod &signal)
virtual void disconnectNotify (const QMetaMethod &signal)
 QObject (QObjectPrivate &dd, QObject *parent=nullptr)
Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr

Detailed Description

\inmodule QtMultimedia

The QImageCapture class is used for the recording of media content.

The QImageCapture class is a high level images recording class. It's not intended to be used alone but for accessing the media recording functions of other media objects, like QCamera.

See also
QCamera

Definition at line 23 of file qimagecapture.h.

Member Enumeration Documentation

◆ Error

\value NoError No Errors.

\value NotReadyError The service is not ready for capture yet. \value ResourceError Device is not ready or not available. \value OutOfSpaceError No space left on device. \value NotSupportedFeatureError Device does not support stillimages capture. \value FormatError Current format is not supported.

Enumerator
NoError 
NotReadyError 
ResourceError 
OutOfSpaceError 
NotSupportedFeatureError 
FormatError 

Definition at line 34 of file qimagecapture.h.

◆ FileFormat

Choose one of the following image formats:

\value UnspecifiedFormat No format specified \value JPEG .jpg or .jpeg format \value PNG .png format \value WebP .webp format \value Tiff .tiff format \omitvalue LastFileFormat

Enumerator
UnspecifiedFormat 
JPEG 
PNG 
WebP 
Tiff 
LastFileFormat 

Definition at line 55 of file qimagecapture.h.

◆ Quality

Enumerates quality encoding levels.

\value VeryLowQuality \value LowQuality \value NormalQuality \value HighQuality \value VeryHighQuality

Enumerator
VeryLowQuality 
LowQuality 
NormalQuality 
HighQuality 
VeryHighQuality 

Definition at line 45 of file qimagecapture.h.

Constructor & Destructor Documentation

◆ QImageCapture()

QImageCapture::QImageCapture ( QObject * parent = nullptr)
explicit

Constructs a image capture object, from a parent, that can capture individual still images produced by a camera.

You must connect both an image capture object and a QCamera to a capture session to capture images.

Definition at line 80 of file qimagecapture.cpp.

◆ ~QImageCapture()

QImageCapture::~QImageCapture ( )
override

Destroys images capture object.

Definition at line 127 of file qimagecapture.cpp.

Member Function Documentation

◆ addMetaData()

void QImageCapture::addMetaData ( const QMediaMetaData & metaData)

Adds additional metaData to any existing meta data, that is embedded into the captured image.

Definition at line 239 of file qimagecapture.cpp.

◆ capture

int QImageCapture::capture ( )
slot

Capture the image and make it available as a QImage.

This operation is asynchronous in majority of cases, followed by signals QImageCapture::imageExposed(), QImageCapture::imageCaptured() or QImageCapture::error().

QImageCapture::capture returns the capture Id parameter, used with imageExposed(), imageCaptured() and imageSaved() signals.

See also
isReadyForCapture()

Definition at line 324 of file qimagecapture.cpp.

◆ captureSession()

QMediaCaptureSession * QImageCapture::captureSession ( ) const

Returns the capture session this camera is connected to, or a nullptr if the camera is not connected to a capture session.

Use QMediaCaptureSession::setImageCapture() to connect the image capture to a session.

Definition at line 149 of file qimagecapture.cpp.

◆ captureToFile

int QImageCapture::captureToFile ( const QString & file = QString())
slot

Capture the image and save it to file.

This operation is asynchronous in majority of cases, followed by signals QImageCapture::imageExposed(), QImageCapture::imageCaptured(), QImageCapture::imageSaved() or QImageCapture::error().

If an empty file is passed, the camera back end chooses the default location and naming scheme for photos on the system, if only file name without full path is specified, the image will be saved to the default directory, with a full path reported with imageCaptured() and imageSaved() signals.

QCamera saves all the capture parameters like exposure settings or image processing parameters, so changes to camera parameters after capture() is called do not affect previous capture requests.

QImageCapture::capture returns the capture Id parameter, used with imageExposed(), imageCaptured() and imageSaved() signals.

See also
isReadyForCapture()

Definition at line 294 of file qimagecapture.cpp.

◆ error()

QImageCapture::Error QImageCapture::error ( ) const

Definition at line 177 of file qimagecapture.cpp.

◆ errorChanged

void QImageCapture::errorChanged ( )
signal

◆ errorOccurred

void QImageCapture::errorOccurred ( int id,
QImageCapture::Error error,
const QString & errorString )
signal

Signals that the capture request id has failed with an error and errorString description.

◆ errorString()

QString QImageCapture::errorString ( ) const

Definition at line 198 of file qimagecapture.cpp.

◆ fileFormat()

QImageCapture::FileFormat QImageCapture::fileFormat ( ) const

Definition at line 411 of file qimagecapture.cpp.

◆ fileFormatChanged

void QImageCapture::fileFormatChanged ( )
signal

◆ fileFormatDescription()

QString QImageCapture::fileFormatDescription ( QImageCapture::FileFormat f)
static

Returns the description of the given file format, f.

Definition at line 493 of file qimagecapture.cpp.

◆ fileFormatName()

QString QImageCapture::fileFormatName ( QImageCapture::FileFormat f)
static

Returns the name of the given format, f.

Definition at line 467 of file qimagecapture.cpp.

◆ imageAvailable

void QImageCapture::imageAvailable ( int id,
const QVideoFrame & frame )
signal

Signal emitted when the frame with request id is available.

◆ imageCaptured

void QImageCapture::imageCaptured ( int id,
const QImage & preview )
signal

Signal emitted when the frame with request id was captured, but not processed and saved yet.

Frame preview can be displayed to user.

◆ imageExposed

void QImageCapture::imageExposed ( int id)
signal

Signal emitted when the frame with request id was exposed.

◆ imageMetadataAvailable

void QImageCapture::imageMetadataAvailable ( int id,
const QMediaMetaData & metaData )
signal

Signals that an image identified by id has metaData.

◆ imageSaved

void QImageCapture::imageSaved ( int id,
const QString & fileName )
signal

Signal emitted when QImageCapture::CaptureToFile is set and the frame with request id was saved to fileName.

◆ isAvailable()

bool QImageCapture::isAvailable ( ) const

Returns true if the images capture service ready to use.

Definition at line 137 of file qimagecapture.cpp.

◆ isReadyForCapture()

bool QImageCapture::isReadyForCapture ( ) const

Definition at line 255 of file qimagecapture.cpp.

◆ metaData()

QMediaMetaData QImageCapture::metaData ( ) const

Definition at line 216 of file qimagecapture.cpp.

◆ metaDataChanged

void QImageCapture::metaDataChanged ( )
signal

◆ quality()

QImageCapture::Quality QImageCapture::quality ( ) const

Definition at line 590 of file qimagecapture.cpp.

◆ qualityChanged

void QImageCapture::qualityChanged ( )
signal

◆ readyForCaptureChanged

void QImageCapture::readyForCaptureChanged ( bool ready)
signal

Signals that a camera's ready for capture state has changed.

◆ resolution()

QSize QImageCapture::resolution ( ) const

Returns the resolution of the encoded image.

Definition at line 520 of file qimagecapture.cpp.

◆ resolutionChanged

void QImageCapture::resolutionChanged ( )
signal

Signals when the image resolution changes.

◆ setFileFormat()

void QImageCapture::setFileFormat ( QImageCapture::FileFormat format)

Sets the image format.

Assigning an unsupported \l FileFormat has no effect.

See also
supportedFormats

Definition at line 424 of file qimagecapture.cpp.

◆ setMetaData()

void QImageCapture::setMetaData ( const QMediaMetaData & metaData)

Replaces any existing meta data, to be embedded into the captured image, with a set of metaData.

Definition at line 226 of file qimagecapture.cpp.

◆ setQuality()

void QImageCapture::setQuality ( Quality quality)

Sets the image encoding quality.

Definition at line 599 of file qimagecapture.cpp.

◆ setResolution() [1/2]

void QImageCapture::setResolution ( const QSize & resolution)

Sets the resolution of the encoded image.

An empty QSize indicates the encoder should make an optimal choice based on what is available from the image source and the limitations of the codec.

Definition at line 538 of file qimagecapture.cpp.

◆ setResolution() [2/2]

void QImageCapture::setResolution ( int width,
int height )

Sets the width and height of the resolution of the encoded image.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 556 of file qimagecapture.cpp.

◆ supportedFormats()

QList< FileFormat > QImageCapture::supportedFormats ( )
static

◆ QMediaCaptureSession

friend class QMediaCaptureSession
friend

Definition at line 120 of file qimagecapture.h.

Property Documentation

◆ error

Error QImageCapture::error
read

\qmlproperty enumeration QtMultimedia::ImageCapture::error

This property holds the last error type that occurred. It can be one of the following.

\value ImageCapture.NoError No esrrors. \value ImageCapture.NotReadyError The service is not ready for capture yet. \value ImageCapture.ResourceError Device is not ready or not available. \value ImageCapture.OutOfSpaceError No space left on device. \value ImageCapture.NotSupportedFeatureError Device does not support stillimages capture. \value ImageCapture.FormatError Current format is not supported.

See also
errorString

Returns the current error state.

See also
errorString()

Definition at line 28 of file qimagecapture.h.

◆ errorString

QString QImageCapture::errorString
read

\qmlproperty string QtMultimedia::ImageCapture::errorString

This property holds the last error message that occurred.

See also
error

Returns a string describing the current error state.

See also
error()

Definition at line 29 of file qimagecapture.h.

◆ fileFormat

FileFormat QImageCapture::fileFormat
readwrite

\qmlproperty enumeration QtMultimedia::ImageCapture::fileFormat

This property holds the file format for which the image will be written. It can be one of the following.

\value UnspecifiedFormat No format specified \value JPEG .jpg or .jpeg format \value PNG .png format \value WebP .webp format \value Tiff .tiff format

The image format.

Definition at line 30 of file qimagecapture.h.

◆ metaData

QMediaMetaData QImageCapture::metaData
readwrite

\qmlproperty mediaMetaData QtMultimedia::ImageCapture::metaData

This property holds the metadata that wil be embedded into the image.

The meta data that will get embedded into the image.

Note
Additional fields such as a time stamp or location may get added by the camera back end.

Definition at line 27 of file qimagecapture.h.

◆ quality

Quality QImageCapture::quality
readwrite

\qmlproperty enumeration QtMultimedia::ImageCapture::quality

This property holds the quality hint when storing the captured image. It can be one of the following values.

\value VeryLowQuality Very low \value LowQuality Low \value NormalQuality Normal \value HighQuality High \value VeryHighQuality Very high

The image encoding quality.

Definition at line 31 of file qimagecapture.h.

◆ readyForCapture

bool QImageCapture::readyForCapture
read

Holds true if the camera is ready to capture an image immediately.

Calling capture() while readyForCapture is false is not permitted and results in an error.

Definition at line 26 of file qimagecapture.h.

◆ supportedFormats

QList< QImageCapture::FileFormat > QImageCapture::supportedFormats
read

\qmlproperty list<FileFormat> QtMultimedia::ImageCapture::supportedFormats

Returns a list of supported file formats.

Since
6.10

Contains a list of supported file formats.

See also
fileFormat

a list of supported file formats.

See also
{QImageCapture::}{FileFormat}

Definition at line 32 of file qimagecapture.h.


The documentation for this class was generated from the following files: