默认支持的图像格式:
BMP ,GIF , JPG , JPEG, PNG, PBM, PGM, PPM, XBM, XPM
QImage(const QSize &size, Format format) | 使用给定的大小和格式构造图像 |
QImage(int width, int height, Format format) | 使用给定的大小和格式构造图像 |
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) | 用给定的宽度、高度和格式构造图像,使用一个已有的内存缓冲区、数据。宽度和高度必须指定像素,数据必须是32位对齐,每个扫描线的图像数据中也必须是32位对齐。 |
QImage(const char * const[] xpm) | 从给定的xpm图像构造图像 |
QImage(const QString &fileName, const char *format = Q_NULLPTR) | 从给定的文件名加载图像 |
bool allGray() const | 如果图像中的所有颜色都是灰色(即它们的红色、绿色和蓝色分量相等),则返回 true; 否则为假。 请注意,对于没有颜色表的图像,此功能很慢。 |
int bitPlaneCount() const | 返回图像中位平面的数量。 位平面数是每个像素的颜色和透明度信息的位数。 这与(即小于)图像格式包含未使用位时的深度不同。 |
uchar *bits() | 返回指向第一个像素数据的指针。 这等效于 scanLine(0)。 请注意,QImage 使用隐式数据共享。 该函数执行共享像素数据的深度复制,从而确保此 QImage 是唯一使用当前返回值的。 |
const uchar *bits() const | 获取图像首地址,不进行深度拷贝 |
int byteCount() const | 返回图像数据占用的字节数。 请注意,永远不应在大于 2 GB 的图像上调用此方法。 而是使用 sizeInBytes() |
int bytesPerLine() const | 返回每个图像扫描线的字节数。 如果 height() 非零,则这等效于 sizeInBytes() / height()。 |
qint64 cacheKey() const | 返回标识此 QImage 对象内容的Key。 如果不同的 QImage 对象引用相同的内容,则它们具有相同的Key 更改图像时,Key将更改。 |
QRgb color(int i) const | 返回颜色表中索引 i 处的颜色。 第一种颜色位于索引 0 处。 图像颜色表中的颜色指定为 ARGB 四元组 (QRgb)。 使用 qAlpha()、qRed()、qGreen() 和 qBlue() 函数来获取颜色值分量。 |
int colorCount() const | 返回图像颜色表的大小。 请注意,对于 32-bpp 图像,colorCount() 返回 0,因为这些图像不使用颜色表,而是将像素值编码为 ARGB 四元组。 |
QVector<QRgb> colorTable() const | 返回图像在颜色表中包含的颜色的列表 |
const uchar *constBits() const | 返回像素首地址,该函数不进行深度拷贝 |
const uchar *constScanLine(int i) const | 返回从I开始的指向扫描线的指针 |
QImage convertToFormat(Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) const QImage convertToFormat(Format format, const QVector<QRgb> &colorTable, Qt::ImageConversionFlags flags = Qt::AutoColor) const |
使用指定的颜色表返回转换为给定格式的图像副本。 从RGB格式到索引格式的转换是一个缓慢的操作 |
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 | 从此图像中的 alpha 缓冲区构建并返回一个 1-bpp 掩码。 如果图像的格式为 QImage::Format_RGB32,则返回空图像。 |
QImage createHeuristicMask(bool clipTight = true) const |
创建并返回此像素图的启发式蒙版。该功能的工作原理是从任一角中选择一种颜色,然后从所有边缘开始切去该颜色的像素。 如果 |
QImage createMaskFromColor(QRgb color, Qt::MaskMode mode = Qt::MaskInColor) const | 根据给定的颜色值创建并返回此图像的蒙版。 如果模式为 MaskInColor(默认值),则所有匹配颜色的像素都将是遮罩中的不透明像素。 如果 mode 为 MaskOutColor,则匹配给定颜色的所有像素都将是透明的。 |
int depth() const | 返回图像的深度。 图像深度是用于存储单个像素的位数,也称为每像素位数 (bpp)。 支持的深度为 1、8、16、24 和 32。 |
qreal devicePixelRatio() const | 返回图像的设备像素比。 这是设备像素和设备独立像素之间的比率。 根据图像大小计算布局几何时使用此函数: QSize layoutSize = image.size() / image.devicePixelRatio() 默认值为 1.0。 |
int dotsPerMeterX() const | 返回在物理仪表中水平放置的像素数。 该数字与 dotsPerMeterY() 一起定义了图像的预期比例和纵横比。 |
int dotsPerMeterY() const | 返回物理仪表中垂直匹配的像素数。此数字与dotsPerMeterX()一起定义图像的预期比例和纵横比。 |
void fill(uint pixelValue) void fill(const QColor &color) void fill(Qt::GlobalColor color) | 以给定的颜色填充整个图像 |
Format format() const | 返回图像格式 |
bool hasAlphaChannel() const |
如果图像的格式符合alpha通道,则返回true,否则返回false。 |
int height() const | 图像高度 |
void invertPixels(InvertMode mode = InvertRgb) |
反转图像中的所有像素值。 给定的反转模式只有在图像深度为32时才有意义。默认模式为反转RGB,保持alpha通道不变。如果模式为InvertRgba,则alpha位也会反转。 反转8位图像意味着将使用颜色索引i的所有像素替换为使用颜色索引255减去i的像素。1位图像也是如此。请注意,颜色表没有更改。 |
bool isGrayscale() const |
对于32位图像,此函数等效于allGray() 对于颜色索引图像,如果颜色表的所有索引的color(i)是QRgb(i,i,i),则返回true,否则返回false |
bool isNull() const | 图像是否为空 |
bool load(const QString &fileName, const char *format = Q_NULLPTR) bool load(QIODevice *device, const char *format) | 加载图像 |
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 | 返回图像相对于其他图像定位时要偏移的像素数 |
QRgb pixel(const QPoint &position) const QRgb pixel(int x, int y) const | 返回指定坐标像素的RGB |
QColor pixelColor(const QPoint &position) const QColor pixelColor(int x, int y) const | 返回指定坐标像素的Color |
QPixelFormat pixelFormat() const | 返回像素格式 |
int pixelIndex(const QPoint &position) const int pixelIndex(int x, int y) const | 返回给定位置的像素索引 |
QRect rect() const | 返回图像矩形 |
QImage rgbSwapped() const | 红色和蓝色交换,返回交换后的图像 |
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 | 使用给定的文件名格式和质量,把图像保存到给定文件名中 |
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 |
返回缩放后的图像 Qt::IgnoreAspectRatio 忽略纵横比,拉伸到指定大小 Qt::KeepAspectRatio 保持纵横比,宽度与矩形对齐 Qt::KeepAspectRatioByExpanding 保持纵横比,高度与矩形对齐 |
QImage scaledToHeight(int height, Qt::TransformationMode mode = Qt::FastTransformation) const QImage scaledToWidth(int width, Qt::TransformationMode mode = Qt::FastTransformation) const | 返回图像缩放副本,该函数会自动按比例缩放宽度 |
uchar *scanLine(int i) const uchar *scanLine(int i) const | 返回扫描线,第一条扫描线在索引0 |
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) |
图像文本设置为给定的文本,并将其与给定的键相关联。 如果您只想存储一个文本块(即“注释”或一个描述),您可以传递一个空键,或者使用一个通用键,如“描述”。 调用save()或QImageWriter::write()时,图像文本将嵌入到图像数据中。 |
QSize size() const | 返回图像大小 |
void swap(QImage &other) | 图像互换,该函数比较快 |
QString text(const QString &key = QString()) const | 返回与给定键关联的图像文本。如果指定的键是空字符串,则返回整个图像文本,每个键文本对用换行符分隔。 |
QStringList textKeys() const | 返回此图像的文本键。 您可以将这些键与 text() 一起使用来列出某个键的图像文本。 |
QImage transformed(const QMatrix &matrix, Qt::TransformationMode mode = Qt::FastTransformation) const QImage transformed(const QTransform &matrix, Qt::TransformationMode mode = Qt::FastTransformation) const | 返回使用给定的转换矩阵和转换模式转换的图像的副本。 |
bool valid(const QPoint &pos) const bool valid(int x, int y) const | 如果该坐标有效,返回true |
int width() const | 图像宽度 |
QImage fromData(const uchar *data, int size, const char *format = Q_NULLPTR) QImage fromData(const QByteArray &data, const char *format = Q_NULLPTR) | 从给定二进制数据的第一个 size 字节构造一个 QImage 。 加载器尝试使用指定的格式读取图像。 如果没有指定格式(这是默认设置),加载器会探测头文件的数据来猜测文件格式。 如果指定了格式,它必须是 QImageReader::supportedImageFormats() 返回的值之一。 如果图片加载失败,返回的图片将为空图片。 |
QImage::Format toImageFormat(QPixelFormat format) | 转换格式到QImage::Format |
QPixelFormat toPixelFormat(QImage::Format format) | 转换格式到QPixelFormat |
QMatrix trueMatrix(const QMatrix &matrix, int width, int height) | 返回用于转换具有给定宽度、高度和矩阵的图像的实际矩阵。 当使用transformed() 函数变换图像时,变换矩阵在内部进行调整以补偿不需要的平移,即transformed() 返回包含原始图像所有变换点的最小图像。 此函数返回修改后的矩阵,该矩阵将点从原始图像正确映射到新图像。 |
QTransform trueMatrix(const QTransform &matrix, int width, int height) | 返回用于转换具有给定宽度、高度和矩阵的图像的实际矩阵。 当使用transformed() 函数变换图像时,变换矩阵在内部进行调整以补偿不需要的平移,即transformed() 返回包含原始图像所有变换点的最小图像。 此函数返回修改后的矩阵,该矩阵将点从原始图像正确映射到新图像。 与其他重载不同,此函数创建可用于对图像执行透视变换的变换矩阵。 |
QImage smoothScaled(int w, int h) const | 返回平滑缩放的图像副本。 返回的图像大小为宽 w 高 h 像素 |
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位灰度格式存储 |
QImage::InvertRgb | 仅反转 RGB 值并保持 Alpha 通道不变。 |
QImage::InvertRgba | 反转所有通道,包括 Alpha 通道。 |