QImage类提供与硬件无关的图像表示,允许直接访问像素数据,并可用作绘图设备。
Qt提供了四个用于处理图像数据的类:QImage,QPixmap,QBitmap和QPicture。 QImage专为I / O和直接像素访问和操作而设计和优化,而QPixmap专为在屏幕上显示图像而设计和优化。 QBitmap只是一个继承QPixmap的便捷类,确保深度为1.最后,QPicture类是一个记录和重放QPainter命令的绘图设备。
因为QImage是QPaintDevice子类,所以可以使用QPainter直接绘制到图像上。在QImage上使用QPainter时,可以在除当前GUI线程之外的另一个线程中执行绘制。
QImage类支持Format enum描述的几种图像格式。这些包括单色,8位,32位和alpha混合图像,可在Qt 4.x的所有版本中使用。
QImage提供了一系列功能,可用于获取有关图像的各种信息。还有几个功能可以转换图像。
由于QImage类使用隐式数据共享,因此QImage对象可以按值传递。 QImage对象也可以进行流式处理和比较。
读取image文件
QImage提供了几种加载图像文件的方法:可以在构造QImage对象时加载文件,也可以在后面使用load()或loadFromData()函数加载。 QImage还提供静态fromData()函数,从给定数据构造QImage。 加载映像时,文件名可以引用磁盘上的实际文件,也可以引用应用程序的其中一个嵌入资源。 有关如何在应用程序的可执行文件中嵌入图像和其他资源文件的详细信息,请参阅Qt资源系统概述。
支持的文件格式的完整列表可通过QImageReader :: supportedImageFormats()