//for starf study
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QDebug>
#include <QImage>
#include <QSize>
#include <QRect>
#include <QString>
#include <QVector>
#include <QImageReader>
//QImage类提供独立于硬件的图像表示,允许直接访问像素数据,并可用作绘制设备。
//Qt提供了四个处理图像数据的类:QImage、QPixmap、QBitmap和QPicture。
//QImage是为I/O、直接像素访问和操作而设计和优化的
//QPixmap是为在屏幕上显示图像而设计和优化的。
//QBitmap只是一个继承QPixmap的方便类,确保深度为1。
//QPicture类是一个绘画设备,用于记录和重放QPaint命令。
//像素深度是指存储每个像素所需要的比特数。假定存储每个像素需要8bit,则图像的像素深度为8。
//图像深度是指像素深度中实际用于存储图像的灰度或色彩所需要的比特位数,
//假定图像的像素深度为16bit,但用于表示图像的灰度或色彩的位数只有15位,则图像的图像深度为15。
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
QImage img = QImage(QSize(300, 200), QImage::Format_ARGB32); //图像使用32位ARGB格式(0xAARRGGBB)存储。
//第一个参数指定图像尺寸 也可以用 两个整数(width,height)替换
//第二个参数设置图像模式 QImage::Format ,可选项有:
//QImage::Format_Invalid(0) 图像无效
//QImage::Format_Mono 图像以每像素1位的方式存储。字节首先被最高有效位(MSB)压缩。
//QImage::Format_MonoLSB 图像以每像素1位的方式存储。字节首先被低有效位(LSB)压缩。
//QImage::Format_Indexed8 使用8位索引将图像存储到颜色映射中。
//QImage::Format_RGB32 图像使用32位RGB格式(0xffRRGGBB)存储。
//QImage::Format_ARGB32 图像使用32位ARGB格式(0xAARRGGBB)存储。
//QImage::Format_ARGB32_Premultiplied 图像使用预乘32位ARGB格式(0xAARRGBB)存储
//即红色、绿色和蓝色通道乘以alpha分量除以255。
//某些操作(例如使用alpha混合的图像合成)使用预乘ARGB32比使用普通ARGB32更快。
//QImage::Format_RGB16 图像使用16位RGB格式(5-6-5)存储。
//QImage::Format_ARGB8565_Premultiplied 图像使用预乘24位ARGB格式(8-5-6-5)存储。
//QImage::Format_RGB666 图像使用24位RGB格式(6-6-6)存储。未使用的最高有效位始终为零。
//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 图像使用24位RGB格式(8-8-8)存储。
//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)存储。这与格式_RGBA8888相同,只是alpha必须始终为255。
//QImage::Format_RGBA8888 图像使用32位字节顺序的RGBA格式(8-8-8-8)存储。
//与ARGB32不同,这是一种字节顺序格式,这意味着32位编码在大端和小端体系结构之间有所不同,分别为(0xRRGGBBAA)和(0xAABBGGRR)。
//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 图像使用32位预乘ARGB格式(2-10-10-10)存储。
//QImage::Format_Alpha8 图像使用8位纯alpha格式存储。
//QImage::Format_Grayscale8 图像以8位灰度格式存储。
//QImage::Format_RGBX64 图像使用64位半字有序RGB(x)格式(16-16-16-16)存储。这与格式_RGBX64相同,只是alpha必须始终为65535。
//QImage::Format_RGBA64 图像使用64位半字有序RGBA格式(16-16-16-16)存储。
//QImage::Format_RGBA64_Premultiplied 图像使用预乘64位半字有序RGBA格式(16-16-16-16)存储。
const QString filename = QString("D:/test.jpge")
QImage方法功能(QT5.12)
最新推荐文章于 2026-05-06 09:35:50 发布
本文详细介绍了Qt中QImage类的功能与使用方法,包括不同图像格式的特点、图像的创建与加载方式、图像属性获取及图像处理操作等内容。

4065

被折叠的 条评论
为什么被折叠?



