QtBase  v6.3.1
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Friends | Related Functions | List of all members
QPixmap Class Reference

The QPixmap class is an off-screen image representation that can be used as a paint device. More...

#include <qpixmap.h>

Inheritance diagram for QPixmap:
Inheritance graph
[legend]
Collaboration diagram for QPixmap:
Collaboration graph
[legend]

Public Types

typedef QExplicitlySharedDataPointer< QPlatformPixmapDataPtr
 
- Public Types inherited from QPaintDevice
enum  PaintDeviceMetric {
  PdmWidth = 1 , PdmHeight , PdmWidthMM , PdmHeightMM ,
  PdmNumColors , PdmDepth , PdmDpiX , PdmDpiY ,
  PdmPhysicalDpiX , PdmPhysicalDpiY , PdmDevicePixelRatio , PdmDevicePixelRatioScaled
}
 

Public Member Functions

 QPixmap ()
 
 QPixmap (QPlatformPixmap *data)
 
 QPixmap (int w, int h)
 
 QPixmap (const QSize &)
 
 QPixmap (const QString &fileName, const char *format=nullptr, Qt::ImageConversionFlags flags=Qt::AutoColor)
 
 QPixmap (const char *const xpm[])
 
 QPixmap (const QPixmap &)
 
 QPixmap (QPixmap &&other) noexcept
 
 ~QPixmap ()
 
QPixmapoperator= (const QPixmap &)
 
void swap (QPixmap &other) noexcept
 
bool operator== (const QPixmap &) const =delete
 
bool operator!= (const QPixmap &) const =delete
 
 operator QVariant () const
 
bool isNull () const
 
int devType () const override
 
int width () const
 
int height () const
 
QSize size () const
 
QRect rect () const
 
int depth () const
 
void fill (const QColor &fillColor=Qt::white)
 
QBitmap mask () const
 
void setMask (const QBitmap &)
 
qreal devicePixelRatio () const
 
void setDevicePixelRatio (qreal scaleFactor)
 
QSizeF deviceIndependentSize () const
 
bool hasAlpha () const
 
bool hasAlphaChannel () const
 
QBitmap createHeuristicMask (bool clipTight=true) const
 
QBitmap createMaskFromColor (const QColor &maskColor, Qt::MaskMode mode=Qt::MaskInColor) const
 
QPixmap scaled (int w, int h, Qt::AspectRatioMode aspectMode=Qt::IgnoreAspectRatio, Qt::TransformationMode mode=Qt::FastTransformation) const
 
QPixmap scaled (const QSize &s, Qt::AspectRatioMode aspectMode=Qt::IgnoreAspectRatio, Qt::TransformationMode mode=Qt::FastTransformation) const
 
QPixmap scaledToWidth (int w, Qt::TransformationMode mode=Qt::FastTransformation) const
 
QPixmap scaledToHeight (int h, Qt::TransformationMode mode=Qt::FastTransformation) const
 
QPixmap transformed (const QTransform &, Qt::TransformationMode mode=Qt::FastTransformation) const
 
QImage toImage () const
 
bool load (const QString &fileName, const char *format=nullptr, Qt::ImageConversionFlags flags=Qt::AutoColor)
 
bool loadFromData (const uchar *buf, uint len, const char *format=nullptr, Qt::ImageConversionFlags flags=Qt::AutoColor)
 
bool loadFromData (const QByteArray &data, const char *format=nullptr, Qt::ImageConversionFlags flags=Qt::AutoColor)
 
bool save (const QString &fileName, const char *format=nullptr, int quality=-1) const
 
bool save (QIODevice *device, const char *format=nullptr, int quality=-1) const
 
bool convertFromImage (const QImage &img, Qt::ImageConversionFlags flags=Qt::AutoColor)
 
QPixmap copy (int x, int y, int width, int height) const
 
QPixmap copy (const QRect &rect=QRect()) const
 
void scroll (int dx, int dy, int x, int y, int width, int height, QRegion *exposed=nullptr)
 
void scroll (int dx, int dy, const QRect &rect, QRegion *exposed=nullptr)
 
qint64 cacheKey () const
 
bool isDetached () const
 
void detach ()
 
bool isQBitmap () const
 
QPaintEnginepaintEngine () const override
 
bool operator! () const
 
QPlatformPixmaphandle () const
 
DataPtrdata_ptr ()
 
- Public Member Functions inherited from QPaintDevice
virtual ~QPaintDevice ()
 
bool paintingActive () const
 
int width () const
 
int height () const
 
int widthMM () const
 
int heightMM () const
 
int logicalDpiX () const
 
int logicalDpiY () const
 
int physicalDpiX () const
 
int physicalDpiY () const
 
qreal devicePixelRatio () const
 
qreal devicePixelRatioF () const
 
int colorCount () const
 
int depth () const
 

Static Public Member Functions

static int defaultDepth ()
 
static QTransform trueMatrix (const QTransform &m, int w, int h)
 
static QPixmap fromImage (const QImage &image, Qt::ImageConversionFlags flags=Qt::AutoColor)
 
static QPixmap fromImageReader (QImageReader *imageReader, Qt::ImageConversionFlags flags=Qt::AutoColor)
 
static QPixmap fromImage (QImage &&image, Qt::ImageConversionFlags flags=Qt::AutoColor)
 
- Static Public Member Functions inherited from QPaintDevice
static qreal devicePixelRatioFScale ()
 

Protected Member Functions

int metric (PaintDeviceMetric) const override
 
- Protected Member Functions inherited from QPaintDevice
 QPaintDevice () noexcept
 
virtual void initPainter (QPainter *painter) const
 
virtual QPaintDeviceredirected (QPoint *offset) const
 
virtual QPaintersharedPainter () const
 

Static Protected Member Functions

static QPixmap fromImageInPlace (QImage &image, Qt::ImageConversionFlags flags=Qt::AutoColor)
 

Friends

class QPlatformPixmap
 
class QBitmap
 
class QPaintDevice
 
class QPainter
 
class QOpenGLWidget
 
class QWidgetPrivate
 
class QRasterBuffer
 
Q_GUI_EXPORT QDataStreamoperator>> (QDataStream &, QPixmap &)
 

Related Functions

(Note that these are not member functions.)

QDataStreamoperator<< (QDataStream &stream, const QPixmap &pixmap)
 
QDataStreamoperator>> (QDataStream &stream, QPixmap &pixmap)
 

Additional Inherited Members

- Protected Attributes inherited from QPaintDevice
ushort painters
 

Detailed Description

The QPixmap class is an off-screen image representation that can be used as a paint device.

\inmodule QtGui

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, while QPixmap is designed and optimized for showing images on screen. QBitmap is only a convenience class that inherits QPixmap, ensuring a depth of 1. The isQBitmap() function returns true if a QPixmap object is really a bitmap, otherwise returns false. Finally, the QPicture class is a paint device that records and replays QPainter commands.

A QPixmap can easily be displayed on the screen using QLabel or one of QAbstractButton's subclasses (such as QPushButton and QToolButton). QLabel has a pixmap property, whereas QAbstractButton has an icon property.

QPixmap objects can be passed around by value since the QPixmap class uses implicit data sharing. For more information, see the \l {Implicit Data Sharing} documentation. QPixmap objects can also be streamed.

Note that the pixel data in a pixmap is internal and is managed by the underlying window system. Because QPixmap is a QPaintDevice subclass, QPainter can be used to draw directly onto pixmaps. Pixels can only be accessed through QPainter functions or by converting the QPixmap to a QImage. However, the fill() function is available for initializing the entire pixmap with a given color.

There are functions to convert between QImage and QPixmap. Typically, the QImage class is used to load an image file, optionally manipulating the image data, before the QImage object is converted into a QPixmap to be shown on screen. Alternatively, if no manipulation is desired, the image file can be loaded directly into a QPixmap.

QPixmap provides a collection of functions that can be used to obtain a variety of information about the pixmap. In addition, there are several functions that enables transformation of the pixmap.

Definition at line 62 of file qpixmap.h.

Member Typedef Documentation

◆ DataPtr

Definition at line 184 of file qpixmap.h.

Constructor & Destructor Documentation

◆ QPixmap() [1/8]

QPixmap::QPixmap ( )

Constructs a null pixmap.

See also
isNull()

Definition at line 109 of file qpixmap.cpp.

Here is the caller graph for this function:

◆ QPixmap() [2/8]

QPixmap::QPixmap ( QPlatformPixmap data)
explicit

Definition at line 164 of file qpixmap.cpp.

◆ QPixmap() [3/8]

QPixmap::QPixmap ( int  width,
int  height 
)

Constructs a pixmap with the given width and height. If either width or height is zero, a null pixmap is constructed.

Warning
This will create a QPixmap with uninitialized data. Call fill() to fill the pixmap with an appropriate color before drawing onto it with QPainter.
See also
isNull()

Definition at line 130 of file qpixmap.cpp.

◆ QPixmap() [4/8]

QPixmap::QPixmap ( const QSize size)
explicit

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

Constructs a pixmap of the given size.

Warning
This will create a QPixmap with uninitialized data. Call fill() to fill the pixmap with an appropriate color before drawing onto it with QPainter.

Definition at line 145 of file qpixmap.cpp.

◆ QPixmap() [5/8]

QPixmap::QPixmap ( const QString fileName,
const char *  format = nullptr,
Qt::ImageConversionFlags  flags = Qt::AutoColor 
)

Constructs a pixmap from the file with the given fileName. If the file does not exist or is of an unknown format, the pixmap becomes a null pixmap.

The loader attempts to read the pixmap using the specified format. If the format is not specified (which is the default), the loader probes the file for a header to guess the file format.

The file name can either refer to an actual file on disk or to one of the application's embedded resources. See the \l{resources.html}{Resource System} overview for details on how to embed images and other resource files in the application's executable.

If the image needs to be modified to fit in a lower-resolution result (e.g. converting from 32-bit to 8-bit), use the flags to control the conversion.

The fileName, format and flags parameters are passed on to load(). This means that the data in fileName is not compiled into the binary. If fileName contains a relative path (e.g. the filename only) the relevant file must be found relative to the runtime working directory.

See also
{QPixmap::Reading and Writing Image Files}{Reading and Writing Image Files}

Definition at line 198 of file qpixmap.cpp.

◆ QPixmap() [6/8]

QPixmap::QPixmap ( const char *const  xpm[])
explicit

Constructs a pixmap from the given xpm data, which must be a valid XPM image.

Errors are silently ignored.

Note that it's possible to squeeze the XPM variable a little bit by using an unusual declaration:

The extra const makes the entire definition read-only, which is slightly more efficient (for example, when the code is in a shared library) and ROMable when the application is to be stored in ROM.

Definition at line 252 of file qpixmap.cpp.

Here is the call graph for this function:

◆ QPixmap() [7/8]

QPixmap::QPixmap ( const QPixmap pixmap)

Constructs a pixmap that is a copy of the given pixmap.

See also
copy()

Definition at line 214 of file qpixmap.cpp.

◆ QPixmap() [8/8]

QPixmap::QPixmap ( QPixmap &&  other)
inlinenoexcept

Move-constructs a QPixmap instance from other.

See also
swap() operator=(QPixmap&&)

Definition at line 74 of file qpixmap.h.

◆ ~QPixmap()

QPixmap::~QPixmap ( )

Destroys the pixmap.

Definition at line 274 of file qpixmap.cpp.

Member Function Documentation

◆ cacheKey()

qint64 QPixmap::cacheKey ( ) const

Returns a number that identifies this QPixmap. Distinct QPixmap objects can only have the same cache key if they refer to the same contents.

The cacheKey() will change when the pixmap is altered.

Definition at line 917 of file qpixmap.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ convertFromImage()

bool QPixmap::convertFromImage ( const QImage image,
Qt::ImageConversionFlags  flags = Qt::AutoColor 
)

Replaces this pixmap's data with the given image using the specified flags to control the conversion. The flags argument is a bitwise-OR of the \l{Qt::ImageConversionFlags}. Passing 0 for flags sets all the default options. Returns true if the result is that this pixmap is not null.

Note: this function was part of Qt 3 support in Qt 4.6 and earlier. It has been promoted to official API status in 4.7 to support updating the pixmap's image without creating a new QPixmap as fromImage() would.

See also
fromImage()
Since
4.7

Definition at line 1009 of file qpixmap.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ copy() [1/2]

QPixmap QPixmap::copy ( const QRect rectangle = QRect()) const

Returns a deep copy of the subset of the pixmap that is specified by the given rectangle. For more information on deep copies, see the \l {Implicit Data Sharing} documentation.

If the given rectangle is empty, the whole image is copied.

See also
operator=(), QPixmap(), {QPixmap::Pixmap Transformations}{Pixmap Transformations}

Definition at line 307 of file qpixmap.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ copy() [2/2]

QPixmap QPixmap::copy ( int  x,
int  y,
int  width,
int  height 
) const
inline

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

Returns a deep copy of the subset of the pixmap that is specified by the rectangle QRect( x, y, width, height).

Definition at line 190 of file qpixmap.h.

Here is the caller graph for this function:

◆ createHeuristicMask()

QBitmap QPixmap::createHeuristicMask ( bool  clipTight = true) const

Creates and returns a heuristic mask for this pixmap.

The function works by selecting a color from one of the corners and then chipping away pixels of that color, starting at all the edges. If clipTight is true (the default) the mask is just large enough to cover the pixels; otherwise, the mask is larger than the data pixels.

The mask may not be perfect but it should be reasonable, so you can do things such as the following:

This function is slow because it involves converting to/from a QImage, and non-trivial computations.

See also
QImage::createHeuristicMask(), createMaskFromColor()

Definition at line 686 of file qpixmap.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createMaskFromColor()

QBitmap QPixmap::createMaskFromColor ( const QColor maskColor,
Qt::MaskMode  mode = Qt::MaskInColor 
) const

Creates and returns a mask for this pixmap based on the given maskColor. If the mode is Qt::MaskInColor, all pixels matching the maskColor will be transparent. If mode is Qt::MaskOutColor, all pixels matching the maskColor will be opaque.

This function is slow because it involves converting to/from a QImage.

See also
createHeuristicMask(), QImage::createMaskFromColor()

Definition at line 704 of file qpixmap.cpp.

Here is the call graph for this function:

◆ data_ptr()

DataPtr & QPixmap::data_ptr ( )
inline

Definition at line 185 of file qpixmap.h.

Here is the call graph for this function:

◆ defaultDepth()

int QPixmap::defaultDepth ( )
static

Returns the default pixmap depth used by the application.

On all platforms the depth of the primary screen will be returned.

Note
QGuiApplication must be created before calling this function.
See also
depth(), QColormap::depth(), {QPixmap::Pixmap Information}{Pixmap Information}

Definition at line 1410 of file qpixmap.cpp.

◆ depth()

int QPixmap::depth ( ) const

Returns the depth of the pixmap.

The pixmap depth is also called bits per pixel (bpp) or bit planes of a pixmap. A null pixmap has depth 0.

See also
defaultDepth(), {QPixmap::Pixmap Information}{Pixmap Information}

Definition at line 556 of file qpixmap.cpp.

Here is the caller graph for this function:

◆ detach()

void QPixmap::detach ( )

Detaches the pixmap from shared pixmap data.

A pixmap is automatically detached by Qt whenever its contents are about to change. This is done in almost all QPixmap member functions that modify the pixmap (fill(), fromImage(), load(), etc.), and in QPainter::begin() on a pixmap.

There are two exceptions in which detach() must be called explicitly, that is when calling the handle() or the x11PictureHandle() function (only available on X11). Otherwise, any modifications done using system calls, will be performed on the shared data.

The detach() function returns immediately if there is just a single reference or if the pixmap has not been initialized yet.

Definition at line 1436 of file qpixmap.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ deviceIndependentSize()

QSizeF QPixmap::deviceIndependentSize ( ) const

Returns the size of the pixmap in device independent pixels.

This value should be used when using the pixmap size in user interface size calculations.

The return value is equivalent to pixmap.size() / pixmap.devicePixelRatio(),

Definition at line 659 of file qpixmap.cpp.

Here is the caller graph for this function:

◆ devicePixelRatio()

qreal QPixmap::devicePixelRatio ( ) const

Returns the device pixel ratio for the pixmap. This is the ratio between {device pixels} and {device independent pixels}.

Use this function when calculating layout geometry based on the pixmap size: QSize layoutSize = image.size() / image.devicePixelRatio()

The default value is 1.0.

See also
setDevicePixelRatio(), QImageReader

Definition at line 611 of file qpixmap.cpp.

Here is the caller graph for this function:

◆ devType()

int QPixmap::devType ( ) const
overridevirtual

Reimplemented from QPaintDevice.

Definition at line 282 of file qpixmap.cpp.

◆ fill()

void QPixmap::fill ( const QColor color = Qt::white)

Fills the pixmap with the given color.

The effect of this function is undefined when the pixmap is being painted on.

See also
{QPixmap::Pixmap Transformations}{Pixmap Transformations}

Definition at line 883 of file qpixmap.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fromImage() [1/2]

QPixmap QPixmap::fromImage ( const QImage image,
Qt::ImageConversionFlags  flags = Qt::AutoColor 
)
static

Converts the given image to a pixmap using the specified flags to control the conversion. The flags argument is a bitwise-OR of the \l{Qt::ImageConversionFlags}. Passing 0 for flags sets all the default options.

In case of monochrome and 8-bit images, the image is first converted to a 32-bit pixmap and then filled with the colors in the color table. If this is too expensive an operation, you can use QBitmap::fromImage() instead.

See also
fromImageReader(), toImage(), {QPixmap::Pixmap Conversion}{Pixmap Conversion}

Definition at line 1474 of file qpixmap.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fromImage() [2/2]

QPixmap QPixmap::fromImage ( QImage &&  image,
Qt::ImageConversionFlags  flags = Qt::AutoColor 
)
inlinestatic
Since
5.3 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Converts the given image to a pixmap without copying if possible.

Definition at line 127 of file qpixmap.h.

Here is the call graph for this function:

◆ fromImageInPlace()

QPixmap QPixmap::fromImageInPlace ( QImage image,
Qt::ImageConversionFlags  flags = Qt::AutoColor 
)
staticprotected

Definition at line 1501 of file qpixmap.cpp.

Here is the call graph for this function:

◆ fromImageReader()

QPixmap QPixmap::fromImageReader ( QImageReader imageReader,
Qt::ImageConversionFlags  flags = Qt::AutoColor 
)
static

Create a QPixmap from an image read directly from an imageReader. The flags argument is a bitwise-OR of the \l{Qt::ImageConversionFlags}. Passing 0 for flags sets all the default options.

On some systems, reading an image directly to QPixmap can use less memory than reading a QImage to convert it to QPixmap.

See also
fromImage(), toImage(), {QPixmap::Pixmap Conversion}{Pixmap Conversion}

Definition at line 1528 of file qpixmap.cpp.

Here is the call graph for this function:

◆ handle()

QPlatformPixmap * QPixmap::handle ( ) const

Definition at line 1543 of file qpixmap.cpp.

Here is the caller graph for this function:

◆ hasAlpha()

bool QPixmap::hasAlpha ( ) const

Returns true if this pixmap has an alpha channel, or has a mask, otherwise returns false.

See also
hasAlphaChannel(), mask()

Definition at line 1353 of file qpixmap.cpp.

Here is the caller graph for this function:

◆ hasAlphaChannel()

bool QPixmap::hasAlphaChannel ( ) const

Returns true if the pixmap has a format that respects the alpha channel, otherwise returns false.

See also
hasAlpha()

Definition at line 1364 of file qpixmap.cpp.

Here is the caller graph for this function:

◆ height()

int QPixmap::height ( ) const

Returns the height of the pixmap.

See also
size(), {QPixmap::Pixmap Information}{Pixmap Information}

Definition at line 515 of file qpixmap.cpp.

Here is the caller graph for this function:

◆ isDetached()

bool QPixmap::isDetached ( ) const

Definition at line 990 of file qpixmap.cpp.

◆ isNull()

bool QPixmap::isNull ( ) const

Returns true if this is a null pixmap; otherwise returns false.

A null pixmap has zero width, zero height and no contents. You cannot draw in a null pixmap.

Definition at line 491 of file qpixmap.cpp.

Here is the caller graph for this function:

◆ isQBitmap()

bool QPixmap::isQBitmap ( ) const

Returns true if this is a QBitmap; otherwise returns false.

Definition at line 478 of file qpixmap.cpp.

Here is the caller graph for this function:

◆ load()

bool QPixmap::load ( const QString fileName,
const char *  format = nullptr,
Qt::ImageConversionFlags  flags = Qt::AutoColor 
)

Loads a pixmap from the file with the given fileName. Returns true if the pixmap was successfully loaded; otherwise invalidates the pixmap and returns false.

The loader attempts to read the pixmap using the specified format. If the format is not specified (which is the default), the loader probes the file for a header to guess the file format.

The file name can either refer to an actual file on disk or to one of the application's embedded resources. See the \l{resources.html}{Resource System} overview for details on how to embed pixmaps and other resource files in the application's executable.

If the data needs to be modified to fit in a lower-resolution result (e.g. converting from 32-bit to 8-bit), use the flags to control the conversion.

Note that QPixmaps are automatically added to the QPixmapCache when loaded from a file in main thread; the key used is internal and cannot be acquired.

See also
loadFromData(), {QPixmap::Reading and Writing Image Files}{Reading and Writing Image Files}

Definition at line 737 of file qpixmap.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ loadFromData() [1/2]

bool QPixmap::loadFromData ( const QByteArray data,
const char *  format = nullptr,
Qt::ImageConversionFlags  flags = Qt::AutoColor 
)
inline

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

Loads a pixmap from the binary data using the specified format and conversion flags.

Definition at line 200 of file qpixmap.h.

Here is the call graph for this function:

◆ loadFromData() [2/2]

bool QPixmap::loadFromData ( const uchar data,
uint  len,
const char *  format = nullptr,
Qt::ImageConversionFlags  flags = Qt::AutoColor 
)

Loads a pixmap from the len first bytes of the given binary data. Returns true if the pixmap was loaded successfully; otherwise invalidates the pixmap and returns false.

The loader attempts to read the pixmap using the specified format. If the format is not specified (which is the default), the loader probes the file for a header to guess the file format.

If the data needs to be modified to fit in a lower-resolution result (e.g. converting from 32-bit to 8-bit), use the flags to control the conversion.

See also
load(), {QPixmap::Reading and Writing Image Files}{Reading and Writing Image Files}

Definition at line 794 of file qpixmap.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mask()

QBitmap QPixmap::mask ( ) const

Extracts a bitmap mask from the pixmap's alpha channel.

Warning
This is potentially an expensive operation. The mask of the pixmap is extracted dynamically from the pixeldata.
See also
setMask(), {QPixmap::Pixmap Information}{Pixmap Information}

Definition at line 1395 of file qpixmap.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ metric()

int QPixmap::metric ( PaintDeviceMetric  metric) const
overrideprotectedvirtual

Reimplemented from QPaintDevice.

Definition at line 1372 of file qpixmap.cpp.

◆ operator QVariant()

QPixmap::operator QVariant ( ) const

Returns the pixmap as a QVariant.

Definition at line 414 of file qpixmap.cpp.

Here is the call graph for this function:

◆ operator!()

bool QPixmap::operator! ( ) const
inline

Returns true if this is a null pixmap; otherwise returns false.

See also
isNull()

Definition at line 155 of file qpixmap.h.

Here is the call graph for this function:

◆ operator!=()

bool QPixmap::operator!= ( const QPixmap ) const
delete

◆ operator=()

QPixmap & QPixmap::operator= ( const QPixmap pixmap)

Assigns the given pixmap to this pixmap and returns a reference to this pixmap.

See also
copy(), QPixmap()

Move-assigns other to this QPixmap instance.

Since
5.2

Definition at line 381 of file qpixmap.cpp.

Here is the call graph for this function:

◆ operator==()

bool QPixmap::operator== ( const QPixmap ) const
delete

◆ paintEngine()

QPaintEngine * QPixmap::paintEngine ( ) const
overridevirtual

Implements QPaintDevice.

Reimplemented in TestPixmap.

Definition at line 1380 of file qpixmap.cpp.

◆ rect()

QRect QPixmap::rect ( ) const

Returns the pixmap's enclosing rectangle.

See also
{QPixmap::Pixmap Information}{Pixmap Information}

Definition at line 540 of file qpixmap.cpp.

Here is the caller graph for this function:

◆ save() [1/2]

bool QPixmap::save ( const QString fileName,
const char *  format = nullptr,
int  quality = -1 
) const

Saves the pixmap to the file with the given fileName using the specified image file format and quality factor. Returns true if successful; otherwise returns false.

The quality factor must be in the range [0,100] or -1. Specify 0 to obtain small compressed files, 100 for large uncompressed files, and -1 to use the default settings.

If format is \nullptr, an image format will be chosen from fileName's suffix.

See also
{QPixmap::Reading and Writing Image Files}{Reading and Writing Image Files}

Definition at line 836 of file qpixmap.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ save() [2/2]

bool QPixmap::save ( QIODevice device,
const char *  format = nullptr,
int  quality = -1 
) const

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

This function writes a QPixmap to the given device using the specified image file format and quality factor. This can be used, for example, to save a pixmap directly into a QByteArray:

Definition at line 854 of file qpixmap.cpp.

Here is the call graph for this function:

◆ scaled() [1/2]

QPixmap QPixmap::scaled ( const QSize s,
Qt::AspectRatioMode  aspectMode = Qt::IgnoreAspectRatio,
Qt::TransformationMode  mode = Qt::FastTransformation 
) const

Definition at line 1067 of file qpixmap.cpp.

Here is the call graph for this function:

◆ scaled() [2/2]

QPixmap QPixmap::scaled ( int  w,
int  h,
Qt::AspectRatioMode  aspectMode = Qt::IgnoreAspectRatio,
Qt::TransformationMode  mode = Qt::FastTransformation 
) const
inline

Definition at line 114 of file qpixmap.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scaledToHeight()

QPixmap QPixmap::scaledToHeight ( int  height,
Qt::TransformationMode  mode = Qt::FastTransformation 
) const

Returns a scaled copy of the image. The returned image is scaled to the given height using the specified transformation mode. The width of the pixmap is automatically calculated so that the aspect ratio of the pixmap is preserved.

If height is 0 or negative, a null pixmap is returned.

See also
isNull(), {QPixmap::Pixmap Transformations}{Pixmap Transformations}

Definition at line 1135 of file qpixmap.cpp.

Here is the call graph for this function:

◆ scaledToWidth()

QPixmap QPixmap::scaledToWidth ( int  w,
Qt::TransformationMode  mode = Qt::FastTransformation 
) const

Returns a scaled copy of the image. The returned image is scaled to the given width using the specified transformation mode. The height of the pixmap is automatically calculated so that the aspect ratio of the pixmap is preserved.

If width is 0 or negative, a null pixmap is returned.

See also
isNull(), {QPixmap::Pixmap Transformations}{Pixmap Transformations}

Definition at line 1105 of file qpixmap.cpp.

Here is the call graph for this function:

◆ scroll() [1/2]

void QPixmap::scroll ( int  dx,
int  dy,
const QRect rect,
QRegion exposed = nullptr 
)
Since
4.6

Scrolls the area rect of this pixmap by (dx, dy). The exposed region is left unchanged. You can optionally pass a pointer to an empty QRegion to get the region that is exposed by the scroll operation.

You cannot scroll while there is an active painter on the pixmap.

See also
QWidget::scroll(), QGraphicsItem::scroll()

Definition at line 344 of file qpixmap.cpp.

Here is the call graph for this function:

◆ scroll() [2/2]

void QPixmap::scroll ( int  dx,
int  dy,
int  x,
int  y,
int  width,
int  height,
QRegion exposed = nullptr 
)
inline
Since
4.6

This convenience function is equivalent to calling QPixmap::scroll(dx, dy, QRect(x, y, width, height), exposed).

See also
QWidget::scroll(), QGraphicsItem::scroll()

Definition at line 195 of file qpixmap.h.

Here is the caller graph for this function:

◆ setDevicePixelRatio()

void QPixmap::setDevicePixelRatio ( qreal  scaleFactor)

Sets the device pixel ratio for the pixmap. This is the ratio between image pixels and device-independent pixels.

The default scaleFactor is 1.0. Setting it to something else has two effects:

QPainters that are opened on the pixmap will be scaled. For example, painting on a 200x200 image if with a ratio of 2.0 will result in effective (device-independent) painting bounds of 100x100.

Code paths in Qt that calculate layout geometry based on the pixmap size will take the ratio into account: QSize layoutSize = pixmap.size() / pixmap.devicePixelRatio() The net effect of this is that the pixmap is displayed as high-DPI pixmap rather than a large pixmap (see \l{Drawing High Resolution Versions of Pixmaps and Images}).

See also
devicePixelRatio(), deviceIndependentSize()

Definition at line 639 of file qpixmap.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setMask()

void QPixmap::setMask ( const QBitmap mask)

Sets a mask bitmap.

This function merges the mask with the pixmap's alpha channel. A pixel value of 1 on the mask means the pixmap's pixel is unchanged; a value of 0 means the pixel is transparent. The mask must have the same size as this pixmap.

Setting a null mask resets the mask, leaving the previously transparent pixels black. The effect of this function is undefined when the pixmap is being painted on.

Warning
This is potentially an expensive operation.
See also
mask(), {QPixmap::Pixmap Transformations}{Pixmap Transformations}, QBitmap

Definition at line 578 of file qpixmap.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ size()

QSize QPixmap::size ( ) const

Returns the size of the pixmap.

See also
width(), height(), {QPixmap::Pixmap Information}{Pixmap Information}

Definition at line 528 of file qpixmap.cpp.

Here is the caller graph for this function:

◆ swap()

void QPixmap::swap ( QPixmap other)
inlinenoexcept
Since
4.8

Swaps pixmap other with this pixmap. This operation is very fast and never fails.

Definition at line 79 of file qpixmap.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ toImage()

QImage QPixmap::toImage ( ) const

Converts the pixmap to a QImage. Returns a null image if the conversion fails.

If the pixmap has 1-bit depth, the returned image will also be 1 bit deep. Images with more bits will be returned in a format closely represents the underlying system. Usually this will be QImage::Format_ARGB32_Premultiplied for pixmaps with an alpha and QImage::Format_RGB32 or QImage::Format_RGB16 for pixmaps without alpha.

Note that for the moment, alpha masks on monochrome images are ignored.

See also
fromImage(), {QImage::Image Formats}{Image Formats}

Definition at line 443 of file qpixmap.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ transformed()

QPixmap QPixmap::transformed ( const QTransform transform,
Qt::TransformationMode  mode = Qt::FastTransformation 
) const

Returns a copy of the pixmap that is transformed using the given transformation transform and transformation mode. The original pixmap is not changed.

The transformation transform is internally adjusted to compensate for unwanted translation; i.e. the pixmap produced is the smallest pixmap that contains all the transformed points of the original pixmap. Use the trueMatrix() function to retrieve the actual matrix used for transforming the pixmap.

This function is slow because it involves transformation to a QImage, non-trivial computations and a transformation back to a QPixmap.

See also
trueMatrix(), {QPixmap::Pixmap Transformations}{Pixmap Transformations}

Definition at line 1169 of file qpixmap.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ trueMatrix()

QTransform QPixmap::trueMatrix ( const QTransform matrix,
int  width,
int  height 
)
static

Returns the actual matrix used for transforming a pixmap with the given width, height and matrix.

When transforming a pixmap using the transformed() function, the transformation matrix is internally adjusted to compensate for unwanted translation, i.e. transformed() returns the smallest pixmap containing all transformed points of the original pixmap. This function returns the modified matrix, which maps points correctly from the original pixmap into the new pixmap.

See also
transformed(), {QPixmap::Pixmap Transformations}{Pixmap Transformations}

Definition at line 467 of file qpixmap.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ width()

int QPixmap::width ( ) const

Returns the width of the pixmap.

See also
size(), {QPixmap::Pixmap Information}{Pixmap Information}

Definition at line 503 of file qpixmap.cpp.

Here is the caller graph for this function:

Friends And Related Function Documentation

◆ operator<<()

QDataStream & operator<< ( QDataStream stream,
const QPixmap pixmap 
)
related

Writes the given pixmap to the given stream as a PNG image. Note that writing the stream to a file will not produce a valid image file.

See also
QPixmap::save(), {Serializing Qt Data Types}

Definition at line 956 of file qpixmap.cpp.

◆ operator>> [1/2]

QDataStream & operator>> ( QDataStream stream,
QPixmap pixmap 
)
friend

Reads an image from the given stream into the given pixmap.

See also
QPixmap::load(), {Serializing Qt Data Types}

Definition at line 969 of file qpixmap.cpp.

◆ operator>>() [2/2]

QDataStream & operator>> ( QDataStream stream,
QPixmap pixmap 
)
related

Reads an image from the given stream into the given pixmap.

See also
QPixmap::load(), {Serializing Qt Data Types}

Definition at line 969 of file qpixmap.cpp.

◆ QBitmap

friend class QBitmap
friend

Definition at line 170 of file qpixmap.h.

◆ QOpenGLWidget

friend class QOpenGLWidget
friend

Definition at line 173 of file qpixmap.h.

◆ QPaintDevice

friend class QPaintDevice
friend

Definition at line 171 of file qpixmap.h.

◆ QPainter

friend class QPainter
friend

Definition at line 172 of file qpixmap.h.

◆ QPlatformPixmap

friend class QPlatformPixmap
friend

Definition at line 169 of file qpixmap.h.

◆ QRasterBuffer

friend class QRasterBuffer
friend

Definition at line 175 of file qpixmap.h.

◆ QWidgetPrivate

friend class QWidgetPrivate
friend

Definition at line 174 of file qpixmap.h.


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