QPixmap和QImage

Posted geek-zhao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QPixmap和QImage相关的知识,希望对你有一定的参考价值。

1、QPixmap

QPixmap的设计本来就是用来加速显示,用paint绘图时用QPixmap会比其他类的效果好很多。一般小图片用QPixmap。

 

2、QImage

依赖软件,直接像素访问,适合大图片

 

3、QPixmap和QImage输出图片方式

技术图片
1 void Widget::paintEvent(QPaintEvent *)
2 {
3     QPainter p(this);
4     QImage img;
5     img.load("../Image/1.jpg");
6     p.drawImage(rect(),img);
7     //p.drawPixmap(rect(),QPixmap("../Image/2.jpg"));  
8 }
View Code

 

4、如果想用QPixmap加速显示,但是图片过大,可以用QImage先把图片加载进来—调整大小—转成QPixmap输出

技术图片
1 void Widget::paintEvent(QPaintEvent *)
2 {
3     QPainter p(this);
4     QImage img;
5     img.load("../Image/2.jpg");
6     QPixmap pix_img = QPixmap::fromImage(img.scaled(size(),Qt::KeepAspectRatio));
7     p.drawPixmap(rect(),pix_img);
8 }
View Code

 

以上是关于QPixmap和QImage的主要内容,如果未能解决你的问题,请参考以下文章

将 NSImage 加载到 QPixmap 或 QImage 中

如何在Python 3中将QImage(QPixmap)转换为PIL图像?

如何正确地在手机上显示图片——QImage与QPixmap完全解析

QT 三大绘图类:QPixmap/QImage/QPicture

Qt笔记——绘图(QBitmap,QPixmap,QImage,QPicture)

QImage/QPixmap加载图片失败(宽和高都为0)的两种解决方法