A QImage is a class from the Qt toolkit which provides a hardware-independent image representation that allows direct access to the pixel data, and can be used as a paint device.
Qt provides four classes for handling image data: QImage
, QPixmap
, QBitmap
and QPicture
. QImage
is designed and optimized for I/O, and for direct pixel access and manipulation.
Because QImage
is a QPaintDevice
subclass, QPainter
can be used to draw directly onto images. When using QPainter
on a QImage
, the painting can be performed in another thread than the current GUI thread.
The QImage
class supports several image formats, including monochrome, 8-bit, 32-bit and alpha-blended images.
QImage
provides a collection of functions that can be used to obtain a variety of information about the image. There are also several functions that enable transformation of the image.
QImage
objects can be passed around by value since the QImage
class uses implicit data sharing. QImage
objects can also be streamed and compared.
The official Qt documentation can be found here for Qt 4.8 and here for Qt 5.