欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > QImage和QPixmap

QImage和QPixmap

2024/10/25 4:02:37 来源:https://blog.csdn.net/m0_62407354/article/details/143218654  浏览:    关键词:QImage和QPixmap

可以访问图像每个像素的颜色信息,从而实现对图像数据进行像素处理

颜色数据格式(了解):

RGB32:图像使用32位RGB格式存储(0xffRRGGBB)ff是浪费的,因为计算机处理一次数据一般读出字节的整数倍

RGB888:图像使用24位RGB格式存储(8-8-8)

ARGB32:图像使用32位RGB格式存储(0xAARRGGBB)A:透明通道

RGBA32:图像使用32位RGB格式存储(0xRRGGBBAA)

RGB565:图像使用16位RGB格式存储,red5位,green6位,blue5位,更节约空间

图片文件格式:

BMP:无损压缩图片文件格式,无压缩

PNG:无损压缩图片格式,有一定的压缩率,文件解压后就是原图!

JPG:有损压缩格式,可以保持较高图像质量的情况下使文件小很多

SVG:基于XML的矢量图文件格式,是描述图像绘制方法的图片文件格式。不能用QImage和QPixmap类处理,需要使用QSvgRenderer和QSvgWidget类

QImage

常用构造函数

QImage(const QString &fileName, const char *format = nullptr);

filenName指定图片路径名,format 参数的值是一个字符串,用于指定图像的格式。Qt 支持多种图像格式,包括但不限于 BMP、GIF、JPG、PNG、TIFF 等。

QImage(const QSize &size, Format format);enum Format {Format_Invalid,Format_Mono,Format_MonoLSB,Format_Indexed8,Format_RGB32,Format_ARGB32,Format_ARGB32_Premultiplied,Format_RGB16,
......

 format是像素的颜色数据格式

QImage();//无参构造

使用无参构造,一般都要结合load()加载图片数据

    QImage img;img.load(":/img/1.png");

 获取图片信息

    QImage img;img.load(":/img/1.png");qDebug()<<img.format();//QImage::Format_ARGB32,输出图片颜色格式qDebug()<<img.depth();//32,图片位深qDebug()<<img.width();//图片宽度qDebug()<<img.height();//图片高度qDebug()<<img.size();//QSize(695, 376)

访问颜色数据

    qDebug()<<img.pixel(0,0);//4291871899,返回无符号32位整数qDebug()<<img.pixelColor(0,0);//QColor(ARGB 1, 0.815686, 0.768627, 0.607843)

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com