支持的图像格式:
BMP ,GIF , JPG , JPEG, PNG, PBM, PGM, PPM, XBM, XPM
//使用给定的大小和格式构造图像
QImage(const QSize &size, Format format)
//使用给定的大小和格式构造图像
QImage(int width, int height, Format format)
//用给定的宽度、高度和格式构造图像,使用一个已有的内存缓冲区、数据。宽度和高度必须指定像素,数据必须是32位对齐,每个扫描线的图像数据中也必须是32位对齐。
QImage(uchar *data, int width, int height, Format format, QImageCleanupFunction cleanupFunction = Q_NULLPTR, void *cleanupInfo = Q_NULLPTR)
QImage(const uchar *data, int width, int height, Format format, QImageCleanupFunction cleanupFunction = Q_NULLPTR, void *cleanupInfo = Q_NULLPTR)
QImage(uchar *data, int width, int height, int bytesPerLine, Format format, QImageCleanupFunction cleanupFunction = Q_NULLPTR, void *cleanupInfo = Q_NULLPTR)
QImage(const uchar *data, int width, int height, int bytesPerLine, Format format, QImageCleanupFunction cleanupFunction = Q_NULLPTR, void *cleanupInfo = Q_NULLPTR)
//从给定的xpm图像构造图像
QImage(const char * const[] xpm)
//从给定的文件名加载图像
QImage(const QString &fileName, const char *format = Q_NULLPTR)
//如果这是灰度图像返回真,否则为假
bool allGray() const
//返回图像位数
int bitPlaneCount() const
//获取图像首地址
uchar *bits()
//获取图像首地址,不进行深度拷贝
const uchar *bits() const
//图像总字节数
int byteCount() const
//图像每行字节数
int bytesPerLine() const
//返回标识该QImage对象的内容数量
qint64 cacheKey() const
//返回颜色表中的颜色
QRgb color(int i) const
//返回颜色表大小
int colorCount() const
//返回图像在颜色表中包含的颜色的列表
QVector<QRgb> colorTable() const
//返回像素首地址,该函数不进行深度拷贝
const uchar *constBits() const
//返回从I开始的指向扫描线的指针
const uchar *constScanLine(int i) const
//返回指定格式的图像
QImage convertToFormat(Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) const
QImage convertToFormat(Format format, const QVector<QRgb> &colorTable, Qt::ImageConversionFlags flags = Qt::AutoColor) const
//返回图像的子区域作为一个新图像
QImage copy(const QRect &rectangle = QRect()) const
QImage copy(int x, int y, int width, int height) const
//按指定格式返回一个遮罩图像
QImage createAlphaMask(Qt::ImageConversionFlags flags = Qt::AutoColor) const
//创建遮罩
QImage createHeuristicMask(bool clipTight = true) const
//根据给定的颜色创建遮罩
QImage createMaskFromColor(QRgb color, Qt::MaskMode mode = Qt::MaskInColor) const
//返回图片深度
int depth() const
//返回图像的设备像素比例
qreal devicePixelRatio() const
//返回X的像素数
int dotsPerMeterX() const
//返回Y的像素数
int dotsPerMeterY() const
//以给定的值填充整个图像
void fill(uint pixelValue)
void fill(const QColor &color)
void fill(Qt::GlobalColor color)
//返回图像格式
Format format() const
//是否有Alpha通道
bool hasAlphaChannel() const
//图像高度
int height() const
//反转图像的像素,只有当图像的深度为32位,给定的反转模式才有意义
void invertPixels(InvertMode mode = InvertRgb)
//如果是灰度图像
bool isGrayscale() const
//图像是否为空
bool isNull() const
//加载图像
bool load(const QString &fileName, const char *format = Q_NULLPTR)
bool load(QIODevice *device, const char *format)
//从第Len个字节的二进制数据加载一个图像
bool loadFromData(const uchar *data, int len, const char *format = Q_NULLPTR)
bool loadFromData(const QByteArray &data, const char *format = Q_NULLPTR)
//返回图像镜像
QImage mirrored(bool horizontal = false, bool vertical = true) const
//返回图像偏移量
QPoint offset() const
//返回指定坐标像素的RGB
QRgb pixel(const QPoint &position) const
QRgb pixel(int x, int y) const
//返回指定坐标像素的Color
QColor pixelColor(const QPoint &position) const
QColor pixelColor(int x, int y) const
//返回像素格式
QPixelFormat pixelFormat() const
//返回给定位置的像素索引
int pixelIndex(const QPoint &position) const
int pixelIndex(int x, int y) const
//返回图像矩形
QRect rect() const
//红色和蓝色交换,返回交换后的图像
QImage rgbSwapped() const
//使用给定的文件名格式和质量因子,把图像保存到给定文件名中,返回TRUE
bool save(const QString &fileName, const char *format = Q_NULLPTR, int quality = -1) const
bool save(QIODevice *device, const char *format = Q_NULLPTR, int quality = -1) const
//返回缩放后的图像
//Qt::IgnoreAspectRatio 忽略纵横比,拉伸到指定大小
//Qt::KeepAspectRatio 保持纵横比,宽度与矩形对齐
//Qt::KeepAspectRatioByExpanding 保持纵横比,高度与矩形对齐
QImage scaled(const QSize &size, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation) const QImage scaled(int width, int height, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio,
Qt::TransformationMode transformMode =Qt::FastTransformation)const
//返回图像缩放副本,该函数会自动按比例缩放宽度
QImage scaledToHeight(int height, Qt::TransformationMode mode = Qt::FastTransformation) const
QImage scaledToWidth(int width, Qt::TransformationMode mode = Qt::FastTransformation) const
//返回扫描线,第一条扫描线在索引0
uchar *scanLine(int i)
const uchar *scanLine(int i) const
//在给定的索引设置颜色
void setColor(int index, QRgb colorValue)
//扩展颜色表的颜色数目
void setColorCount(int colorCount)
//设置颜色表
void setColorTable(const QVector<QRgb> &colors)
//设置设备像素比
void setDevicePixelRatio(qreal scaleFactor)
//定义的纵横比,通过设置在一个物理表中的像素的数目,以适应水平。
void setDotsPerMeterX(int x)
void setDotsPerMeterY(int y)
//设置图像的像素的数目
void setOffset(const QPoint &offset)
//设置像素颜色
void setPixel(const QPoint &position, uint index_or_rgb)
void setPixel(int x, int y, uint index_or_rgb)
void setPixelColor(const QPoint &position, const QColor &color)
void setPixelColor(int x, int y, const QColor &color)
//嵌入字符串
void setText(const QString &key, const QString &text)
//返回图像大小
QSize size() const
//图像互换,该函数比较快
void swap(QImage &other)
//返回与图像关联的文本
QString text(const QString &key = QString()) const
//返回该图像的文本键。
QStringList textKeys() const
//返回使用给定的转换矩阵和转换模式转换的图像的副本。
QImage transformed(const QMatrix &matrix, Qt::TransformationMode mode = Qt::FastTransformation) const
QImage transformed(const QTransform &matrix, Qt::TransformationMode mode = Qt::FastTransformation) const
//如果该坐标有效,返回true
bool valid(const QPoint &pos) const
bool valid(int x, int y) const
//图像宽度
int width() const
Static Public Members
//从size字节开始二进制文本以指定格式构建QImage
QImage fromData(const uchar *data, int size, const char *format = Q_NULLPTR)
QImage fromData(const QByteArray &data, const char *format = Q_NULLPTR)
//转换格式到QImage::Format
QImage::Format toImageFormat(QPixelFormat format)
//转换格式到QPixelFormat
QPixelFormat toPixelFormat(QImage::Format format)
//返回给定宽度。高度和矩阵的图像的实际矩阵
QMatrix trueMatrix(const QMatrix &matrix, int width, int height)
/返回给定宽度。高度和矩阵的图像的实际矩阵,可以用来透视变换的图像
QTransform trueMatrix(const QTransform &matrix, int width, int height)
Protected Functions
//返回图像的平滑缩放副本
QImage smoothScaled(int w, int h) const
enum QImage::Format
QImage::Format_Invalid 图像无效
QImage::Format_Mono 存储使用1位每像素的图像,字节填充最重要位第一
QImage::Format_MonoLSB 存储使用1位每像素的图像,字节填充不显著位第一
QImage::Format_Indexed8 图像存储使用8位指标转化成Colormap
QImage::Format_RGB32 存储使用32位RGB格式的图像(0xffrrggbb)
QImage::Format_ARGB32 存储使用32为ARGB格式的图像(0xaarrggbb)
QImage::Format_ARGB32_Premultiplied 图像存储使用一个自左乘32位ARGB格式
QImage::Format_RGB16 图像存储使用5-6-5 16位RGB格式
QImage::Format_ARGB8565_Premultiplied 图像存储使用一个自左乘24位ARGB格式8-5-6-5
QImage::Format_RGB666 图像存储使用6-6-6 24位RGB格式,未使用的最重要的位总是为零
QImage::Format_ARGB6666_Premultiplied 图像存储使用一个自左乘24位ARGB格式6-6-6-6
QImage::Format_RGB555 图像存储使用16位RGB格式(5-5-5),位置用的最重要的始终为零
QImage::Format_ARGB8555_Premultiplied 图像存储使用一个自左乘24位ARGB格式8-5-5-5
QImage::Format_RGB888 图像存储使用8-8-8 24位RGB格式
QImage::Format_RGB444 图像存储使用16位RGB格式(4-4-4)未使用的位始终为零
QImage::Format_ARGB4444_Premultiplied 图像存储使用一个自左乘16位ARGB格式4-4-4-4
QImage::Format_RGBX8888 图像存储使用32位字节命令RGB(x)格式8-8-8-8
QImage::Format_RGBA8888 存储使用32位字节命令RGBA格式(8-8-8-8)的的图像
QImage::Format_RGBA8888_Premultiplied 图像存储使用一个自左乘32位字节命令RGBA格式8-8-8-8
QImage::Format_BGR30 存储使用32位BGR格式(x-10-10-10)的的图像
QImage::Format_A2BGR30_Premultiplied 图像存储使用32位自左乘abgr格式2-10-10-10
QImage::Format_RGB30 存储使用32位RGB格式(x-10-10-10)的的图像
QImage::Format_A2RGB30_Premultiplied 图像存储使用2-10-10-10 32位自左乘ARGB格式
QImage::Format_Alpha8 该图像是使用一个8位的阿尔法格式存储
QImage::Format_Grayscale8 图像是使用一个8位灰度格式存储
enum QImage::InvertMode
QImage::InvertRgb 反转RGB通道,a通道变
QImage::InvertRgba 反转所有通道