QPixmap转为Image:

void Widget::paintEvent(QPaintEvent *)
{
    QPainter p(this);
    QPixmap pixmap;
    pixmap.load("../Image/noya.jpg");
    QImage tempImage = pixmap.toImage();
    p.drawImage(0, 0, tempImage);
}

效果:

 QT学习(10) QPixmap和QImage的相互转换

添加代码将QImage转为QPixmap:

void Widget::paintEvent(QPaintEvent *)
{
    QPainter p(this);
    QPixmap pixmap;
    pixmap.load("../Image/noya.jpg");
    QImage tempImage = pixmap.toImage();
    p.drawImage(0, 0, tempImage);

    QImage image;
    image.load("../Image/noya.jpg");
    QPixmap tempPixmap = QPixmap::fromImage(image);
    p.drawPixmap(300, 0, tempPixmap);
}

 效果如图:

QT学习(10) QPixmap和QImage的相互转换

 两张图片看不出有什么不一样的。

总结:

QPixmap:针对屏幕进行了优化,和平台相关,不能对图片进行修改。

QImage:和平台无关,可以对图片进行修改,在线程中绘图。

QPicture:保存绘图的状态(二进制文件)。

 

整理自B站视频,侵删歉。

相关文章: