9.1 使用QPxmap类加载图片

Posted DS小龙哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9.1 使用QPxmap类加载图片相关的知识,希望对你有一定的参考价值。

第9章 图形绘制与视图框架

Qt提供了四个类用于处理图像数据:QImage、QPixmap、QBitmap、QPicture。一般利用QImage、QPxmap类实现图像的加载显示,使用其类中的方法可以实现图像的基本操作(缩放、旋转)。QBitmap是一个继承于QPixmap的简单类,用于显示单色图片。在界面中通常使用QLabel控件来显示图像,QLabel的setPixmap()函数用于设置显示图像或者使用QPainter画出图像。

QImage与Qpixmap的区别如下:

1、QPixmap主要是用于绘图,针对屏幕显示而最佳化设计,QImage主要是为图像I/O、图片访问和像素修改而设计的,当图片小的情况下,直接用QPixmap进行加载,一般图片大的情况下,用QImage进行加载,然后转QPixmap绘制。

2、QPixmap依赖于所在的平台的绘图引擎,例如反锯齿等一些效果在不同的平台上可能会有不同的显示效果,QImage使用Qt自身的绘图引擎,可在不同平台上具有相同的显示效果。所以QPixmap绘图依赖于硬件,QImage独立于硬件。

3、由于QImage是独立于硬件的,也是一种QPaintDevice,因此我们可以在另一个线程中对其进行绘制,而不需要在GUI线程中处理,使用这一方式可以很大幅度提高UI响应速度。

参考Qt的帮助文档,可查看当前QT支持的图片类型,或者可以通过QImageReader

以上是关于9.1 使用QPxmap类加载图片的主要内容,如果未能解决你的问题,请参考以下文章

图片预加载和懒加载

SDWebImage使用,图片加载和缓存

Flutter图片加载与缓存

Glide的加载图片的帮助类,用来把图片圆角或者改成圆形图片

加载精灵

图片加载库的封装