Qt如何将两张图片合成一张

在项目中,有的实验结果需要导出打印时,选择图片导出是最好看最直接的,但是有的时候导出几张就很繁琐,所以将几张图片合成一张导出最方便了,直接上代码

    //这里两个界面两个按钮,我是图一/我是图二
    ui->stackedWidget->setCurrentIndex(0);
    //保存图一
    QPixmap pix1 = QPixmap::grabWidget(ui->stackedWidget);
    pix1.save("/opt/one.png");
    //切换到图二界面,保存图二
    ui->stackedWidget->setCurrentIndex(1);
    QPixmap pix2 = QPixmap::grabWidget(ui->stackedWidget);
    pix2.save("/opt/two.png");
    //新建变量,宽度为图一和图二之和,高度一样
    QPixmap pix3 = QPixmap(pix1.width()+pix2.width(),pix1.height());
    QPainter *painter = new QPainter(&pix3);
    //画图一
    painter->drawPixmap(0, 0, pix1);
    //画图二
    painter->drawPixmap(pix1.width(), 0, pix2);
    //将其保存
    pix3.save("/home/xza/three.png");
    //将其显示
    ui->label->setGeometry(QRect(ui->label->x(),ui->label->y(),2*pix1.width(),pix1.height()));
    ui->label->setPixmap(pix3);

现象:

Qt如何将两张图片合成一张_第1张图片

Qt如何将两张图片合成一张_第2张图片

你可能感兴趣的:(Qt)