QImage类提供了一个硬件无关的图像表示方法,该图像可以逐像素被访问和用于画图设备。

Qt提供了QImage、QPixmap、QBitmap和QPicture四种图像操作类。QImage类主要用于I/O和直接逐像素访问、操作;QPixmap主要用于在屏幕中显示图像;QBitmap是一个基于方便考虑继承自QPixmap的提供1bit深度二值图像的类;QPicture是一个可以记录和响应QPainter类命令的画图设备。

QImage继承自QPaintDevice,QPainter类可以被用来直接在图像上进行画操作。

QImage类支持QImage::Format枚举变量描述的多种图像类型,包括8-bit, 32-bit 和 alpha-blended images

QImage 提供很多可以用于获取图像信息和进行图像变换的函数。

1。读写图像

QImage有多种读取图像的方法。图像文件可以在生成QImage对象的过程中或者在之后用load和loadFromData方法读取,也可以用静态方法fromData利用给定的数据构造。读取的图像可以是存储在磁盘中或某个嵌入式应用程序的资源。

save方法可以用来保存QImage对象。

2。图像信息

QImage类提供了很多用于获取图像信息的方法。

如size、width、height、dotsPerMeterX、dotsPerMeterY、pixel、text、depth

3。像素赋值操作

1).32-bit图像

用qRgb或qRgba方法设置一个颜色值,再用sexPixel将相应像素设置为相应颜色

2).8-bit和1-bit二值图像

每一个像素的值是color table List中的一个索引,因此像素的值只能被改成一个在color table List中已经定义的值。如果想往color table List中加入新的值,可以用setColor方法。

4。图像格式

QImage中的每一个像素由一个整数表示,这个整数的大小取决于不同的图像格式。

8-bit图像的每一个像素的值是color table List中的一个索引,32-bit每一个像素拥有一个自己的rgb值(RGB、ARGB、premultiplied ARGB)

图像的格式可以用format方法得到,convertToFormat方法可以用来将一种格式的图像转换为另外一种,allGray和isGrayscale方法可以用来检查一个彩色图像是否可以被安全转换为灰度图像。

5。图像变换

mirrored、scaled、rgbSwapped、scaledToWidth、scaledToHeight、transformed...

Qt的QImage类相关推荐

  1. Qt之QImage类

    文章目录 QT--QImage类 QImage获取图像的数据信息 QImage图像格式转换 由RGB格式转换为BGR格式 将彩色图转换为灰度图 图像保存 QImage图像显示在QLabel上 QPix ...

  2. QT的QImage类的使用

    详细说明 QImage类提供了独立于硬件的图像表示形式,该图像表示形式可以直接访问像素数据,并且可以用作绘制设备. Qt提供了四个用于处理图像数据的类:QImage,QPixmap,QBitmap和Q ...

  3. Qt QImage类详解(QImage类型转换、QImage类函数及QImage像素操作)

    打开Qt帮助文档,会看到有关于QImage的描述如下:The QImage class provides a hardware-independent image representation tha ...

  4. 【Qt】QImage、QPixmap、QBitmap和QPicture

    简述 Qt 提供了四个用于处理图像数据的类: QImage. QPixmap. QBitmap和QPicture.QImage是为 I/O 设计和优化的, 用于直接像素访问和操作, 而QPixmap是 ...

  5. QImage 类的基本操作

    一.显示方法(两种):第一种更佳 1.QImage转QPixmap,然后用QLabel::setPixmap() 1 2 3 4 5 6 7 image=new QImage("D:/Tem ...

  6. Qt 的QString类的使用

    Qt的QString类提供了很方便的对字符串操作的接口. 使某个字符填满字符串,也就是说字符串里的所有字符都有等长度的ch来代替. QString::fill ( QChar ch, int size ...

  7. Qt的QStyle类的标准图标汇总

    Qt的QStyle类的标准图标用代码显示在界面如下: #include "QtWidgetsApplication1.h" #include<QPushButton> ...

  8. 【QImage类常用函数】

    QImage类常用函数 1.构造函数(加载图片) 2.load()函数 3.width()函数 4.height()函数 5.size() 函数 6.sizeInBytes()函数 7.bytesPe ...

  9. Qt的QVector类

    Qt的QVector类是一个类似标准C++vector的容器类(container class),它将数据存储在连续的内存空间里,因此在执行prepend.insert操作的时候比QList类慢. 如 ...

最新文章

  1. phonegap+emberjs+python手机店发展,html5实现本地车类别~
  2. 组成关系映射(注解)
  3. Nginx负载均衡记录
  4. 使用ycsb测试cassandra
  5. java for i i 区别,i ++amp;和i ++之间的区别是什么? ++我在for循环(Java)?
  6. linux如何运行sh监控文件夹,如何使用Shell进行文件监控?
  7. 深入理解Plasma(一)Plasma 框架
  8. python列表与集合
  9. Java中遍历Set集合的三种方法
  10. QCC300X 充电配置 调试笔记
  11. 2022年度嵌入式C语言面试题库(含答案)
  12. 题解 P1774 【最接近神的人_NOI导刊2010提高(02)】
  13. 基本内置类型 声明与定义 static与entern const auto register volatile
  14. suse下oracle静默安装,SUSE Linux Enterprise 11SP1静默安装Oracle 11gR2说明文档.doc
  15. Laravel下用户权限系统 的解决方案Zizaco/Entrust
  16. 视频中的声音如何处理,如何添加背景音乐?
  17. Kaggle文本语义相似度计算Top5解决方案分享
  18. 解决嵌入百度导航4.1.x遇到的坑
  19. 在IntelliJ IDEA中,开发一个摸鱼看书插件
  20. MySql事务4种隔离级别以及悲观锁和乐观锁

热门文章

  1. Mysql启动选项和配置文件
  2. ubuntu清除cuda缓存
  3. 免费AWS EC2实例
  4. 小程序如何逐渐改变我的手机使用习惯?
  5. [1996 TRO] Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces
  6. 对于计算机专业的个人理解
  7. Verilog编程之乘法器的实现
  8. Spark RDD distinct 算子
  9. adb连接小米电视,尝试去除开机广告失败补救方法
  10. 华为虚拟防火墙互通和访问外网