目录
其他文章:
QT - 图像处理 ( 2 ) - Qt 中 update() 和 repaint() 的区别
https://blog.csdn.net/LearnLHC/article/details/96180892
QT - 图像处理 ( 3 ) - QTransform 概述
https://blog.csdn.net/LearnLHC/article/details/96431877
QT - 图像处理 ( 4 ) - QTransform 之 坐标变换矩阵
https://blog.csdn.net/LearnLHC/article/details/96449625
QT - 图像处理 ( 5 ) - QPainterPath、QPolygonF 绘制中空图形( 环、三角板)
https://blog.csdn.net/LearnLHC/article/details/96494611
QT - 图像处理 ( 6 ) - QPainter 对 QPixmap 图像拼接、覆盖、写文字
https://blog.csdn.net/LearnLHC/article/details/96862256
QT - 图像处理 ( 7 ) - 生成透明色图片
https://blog.csdn.net/LearnLHC/article/details/96867622
0、前言
这篇文章主要阐述了如何使用Qt在像素级别上对图像进行操作,并实现了一些图像效果,这些效果主要有:灰度,模糊,锐化,添加相框,金属质感,改变图像饱和度,亮度还有白平衡。
scanLine 返回某一行数据,转换为QRgb指针可进行直接有效的像素存取操作。
一、QImage、QPixmap、QPicture区别
简介:
QBitmap:存储单色的图像,比如遮罩
QPicture:在存储QPainter的一些操作指令
QPixmap:后台显示的图像,在屏幕上绘制图像最快的方法,不过坏处就是无法访问和修改像素
QImage:提供了与硬件无关的图像表示,在IO操作中有很快的速度,并且给出了访问像素的接口
区别:
1. QPixmap主要是用于绘图,针对屏幕显示而最佳化设计,QImage主要是为图像I/O、图片访问和像素修改而设计的
2. QPixmap依赖于所在的平台的绘图引擎,故例如反锯齿等一些效果在不同的平台上可能会有不同的显示效果,QImage使用Qt自身的绘图引擎,可在不同平台上具有相同的显示效果
3. 目前的Qt会把QPixmap都存储在graphics memory中,QImage是存储在客户端的,是独立于硬件的。在 X11, Mac 以及 Symb