27class Q_GUI_EXPORT
QPixmap :
public QPaintDevice
31 explicit QPixmap(QPlatformPixmap *data);
32 QPixmap(
int w,
int h);
33 explicit QPixmap(
const QSize &);
34 QPixmap(
const QString& fileName,
const char *format =
nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor);
35#ifndef QT_NO_IMAGEFORMAT_XPM
36 explicit QPixmap(
const char *
const xpm[]);
38 QPixmap(
const QPixmap &);
39 QPixmap(QPixmap &&other)
noexcept : QPaintDevice(), data(std::move(other.data)) {}
42 QPixmap &operator=(
const QPixmap &);
43 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_MOVE_AND_SWAP(QPixmap)
44 inline void swap(QPixmap &other)
noexcept
45 { data.swap(other.data); }
46 bool operator==(
const QPixmap &)
const =
delete;
47 bool operator!=(
const QPixmap &)
const =
delete;
49 operator QVariant()
const;
52 int devType()
const override;
60 static int defaultDepth();
62 void fill(
const QColor &fillColor = Qt::white);
65 void setMask(
const QBitmap &);
67 qreal devicePixelRatio()
const;
68 void setDevicePixelRatio(qreal scaleFactor);
69 QSizeF deviceIndependentSize()
const;
71 bool hasAlpha()
const;
72 bool hasAlphaChannel()
const;
74#ifndef QT_NO_IMAGE_HEURISTIC_MASK
75 QBitmap createHeuristicMask(
bool clipTight =
true)
const;
77 QBitmap createMaskFromColor(
const QColor &maskColor, Qt::MaskMode mode = Qt::MaskInColor)
const;
79 inline QPixmap scaled(
int w,
int h, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio,
80 Qt::TransformationMode mode = Qt::FastTransformation)
const
81 {
return scaled(QSize(w, h), aspectMode, mode); }
82 QPixmap scaled(
const QSize &s, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio,
83 Qt::TransformationMode mode = Qt::FastTransformation)
const;
84 QPixmap scaledToWidth(
int w, Qt::TransformationMode mode = Qt::FastTransformation)
const;
85 QPixmap scaledToHeight(
int h, Qt::TransformationMode mode = Qt::FastTransformation)
const;
86 QPixmap transformed(
const QTransform &, Qt::TransformationMode mode = Qt::FastTransformation)
const;
87 static QTransform trueMatrix(
const QTransform &m,
int w,
int h);
89 QImage toImage()
const;
90 static QPixmap fromImage(
const QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor);
91 static QPixmap fromImageReader(QImageReader *imageReader, Qt::ImageConversionFlags flags = Qt::AutoColor);
92 static QPixmap fromImage(QImage &&image, Qt::ImageConversionFlags flags = Qt::AutoColor)
94 return fromImageInPlace(image, flags);
97 bool load(
const QString& fileName,
const char *format =
nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor);
98 bool loadFromData(
const uchar *buf, uint len,
const char* format =
nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor);
99 inline bool loadFromData(
const QByteArray &data,
const char* format =
nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor);
100 bool save(
const QString& fileName,
const char* format =
nullptr,
int quality = -1)
const;
101 bool save(QIODevice* device,
const char* format =
nullptr,
int quality = -1)
const;
103 bool convertFromImage(
const QImage &img, Qt::ImageConversionFlags flags = Qt::AutoColor);
105 inline QPixmap copy(
int x,
int y,
int width,
int height)
const;
106 QPixmap copy(
const QRect &rect = QRect())
const;
108 inline void scroll(
int dx,
int dy,
int x,
int y,
int width,
int height, QRegion *exposed =
nullptr);
109 void scroll(
int dx,
int dy,
const QRect &rect, QRegion *exposed =
nullptr);
111 qint64 cacheKey()
const;
113 bool isDetached()
const;
116 bool isQBitmap()
const;
118 QPaintEngine *paintEngine()
const override;
120 inline bool operator!()
const {
return isNull(); }
123 int metric(PaintDeviceMetric)
const override;
124 static QPixmap fromImageInPlace(QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor);
127 QExplicitlySharedDataPointer<QPlatformPixmap> data;
129 bool doImageIO(QImageWriter *io,
int quality)
const;
131 QPixmap(
const QSize &s,
int type);
132 void doInit(
int,
int,
int);
133 friend class QPlatformPixmap;
134 friend class QBitmap;
135 friend class QPaintDevice;
136 friend class QPainter;
137 friend class QOpenGLWidget;
138 friend class QWidgetPrivate;
139 friend class QRasterBuffer;
140#if !defined(QT_NO_DATASTREAM)
141 friend Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QPixmap &);
145 QPlatformPixmap* handle()
const;
148 typedef QExplicitlySharedDataPointer<QPlatformPixmap> DataPtr;
149 inline DataPtr &data_ptr() {
return data; }
159inline void QPixmap::scroll(
int dx,
int dy,
int ax,
int ay,
int awidth,
int aheight, QRegion *exposed)
161 scroll(dx, dy, QRect(ax, ay, awidth, aheight), exposed);