26class Q_GUI_EXPORT
QPixmap :
public QPaintDevice
30 explicit QPixmap(QPlatformPixmap *data);
31 QPixmap(
int w,
int h);
32 explicit QPixmap(
const QSize &);
33 QPixmap(
const QString& fileName,
const char *format =
nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor);
34#ifndef QT_NO_IMAGEFORMAT_XPM
35 explicit QPixmap(
const char *
const xpm[]);
37 QPixmap(
const QPixmap &);
38 QPixmap(QPixmap &&other)
noexcept : QPaintDevice(), data(std::move(other.data)) {}
41 QPixmap &operator=(
const QPixmap &);
42 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_MOVE_AND_SWAP(QPixmap)
43 inline void swap(QPixmap &other)
noexcept
44 { data.swap(other.data); }
45 bool operator==(
const QPixmap &)
const =
delete;
46 bool operator!=(
const QPixmap &)
const =
delete;
48 operator QVariant()
const;
51 int devType()
const override;
59 static int defaultDepth();
61 void fill(
const QColor &fillColor = Qt::white);
64 void setMask(
const QBitmap &);
66 qreal devicePixelRatio()
const;
67 void setDevicePixelRatio(qreal scaleFactor);
68 QSizeF deviceIndependentSize()
const;
70 bool hasAlpha()
const;
71 bool hasAlphaChannel()
const;
73#ifndef QT_NO_IMAGE_HEURISTIC_MASK
74 QBitmap createHeuristicMask(
bool clipTight =
true)
const;
76 QBitmap createMaskFromColor(
const QColor &maskColor, Qt::MaskMode mode = Qt::MaskInColor)
const;
78 inline QPixmap scaled(
int w,
int h, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio,
79 Qt::TransformationMode mode = Qt::FastTransformation)
const
80 {
return scaled(QSize(w, h), aspectMode, mode); }
81 QPixmap scaled(
const QSize &s, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio,
82 Qt::TransformationMode mode = Qt::FastTransformation)
const;
83 QPixmap scaledToWidth(
int w, Qt::TransformationMode mode = Qt::FastTransformation)
const;
84 QPixmap scaledToHeight(
int h, Qt::TransformationMode mode = Qt::FastTransformation)
const;
85 QPixmap transformed(
const QTransform &, Qt::TransformationMode mode = Qt::FastTransformation)
const;
86 static QTransform trueMatrix(
const QTransform &m,
int w,
int h);
88 QImage toImage()
const;
89 static QPixmap fromImage(
const QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor);
90 static QPixmap fromImageReader(QImageReader *imageReader, Qt::ImageConversionFlags flags = Qt::AutoColor);
91 static QPixmap fromImage(QImage &&image, Qt::ImageConversionFlags flags = Qt::AutoColor)
93 return fromImageInPlace(image, flags);
96 bool load(
const QString& fileName,
const char *format =
nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor);
97 bool loadFromData(
const uchar *buf, uint len,
const char* format =
nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor);
98 inline bool loadFromData(
const QByteArray &data,
const char* format =
nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor);
99 bool save(
const QString& fileName,
const char* format =
nullptr,
int quality = -1)
const;
100 bool save(QIODevice* device,
const char* format =
nullptr,
int quality = -1)
const;
102 bool convertFromImage(
const QImage &img, Qt::ImageConversionFlags flags = Qt::AutoColor);
104 inline QPixmap copy(
int x,
int y,
int width,
int height)
const;
105 QPixmap copy(
const QRect &rect = QRect())
const;
107 inline void scroll(
int dx,
int dy,
int x,
int y,
int width,
int height, QRegion *exposed =
nullptr);
108 void scroll(
int dx,
int dy,
const QRect &rect, QRegion *exposed =
nullptr);
110 qint64 cacheKey()
const;
112 bool isDetached()
const;
115 bool isQBitmap()
const;
117 QPaintEngine *paintEngine()
const override;
119 inline bool operator!()
const {
return isNull(); }
122 int metric(PaintDeviceMetric)
const override;
123 static QPixmap fromImageInPlace(QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor);
126 QExplicitlySharedDataPointer<QPlatformPixmap> data;
128 bool doImageIO(QImageWriter *io,
int quality)
const;
130 QPixmap(
const QSize &s,
int type);
131 void doInit(
int,
int,
int);
132 friend class QPlatformPixmap;
133 friend class QBitmap;
134 friend class QPaintDevice;
135 friend class QPainter;
136 friend class QOpenGLWidget;
137 friend class QWidgetPrivate;
138 friend class QRasterBuffer;
139#if !defined(QT_NO_DATASTREAM)
140 friend Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QPixmap &);
144 QPlatformPixmap* handle()
const;
147 typedef QExplicitlySharedDataPointer<QPlatformPixmap> DataPtr;
148 inline DataPtr &data_ptr() {
return data; }
158inline void QPixmap::scroll(
int dx,
int dy,
int ax,
int ay,
int awidth,
int aheight, QRegion *exposed)
160 scroll(dx, dy, QRect(ax, ay, awidth, aheight), exposed);