QT代码实现将图片镜像翻转效果

将图片原图和镜像图合并输出,实现图片镜像功能快速显示效果

在UI拖入一个QPushButton,一个QLabel用于缩放显示效果


void Widget::on_pushButton_clicked()
{
    QString path = QDir::currentPath();
    // ui->m_fileEdit->setText(path);
    //打开图片文件对话框
    //函数返回打开的路径
    QString sPath = QFileDialog::getOpenFileName(
                    this,//指定父窗口
                    "选择图片",//打开文件对话框的标题
                    ".",//打开目录,"." 表示当前目录
                    "*.jpg,jpeg(*.jpg);;" //设置文件过滤器,有多个条件时中间以两个;;隔开
                    );

        if (sPath !=""){
            //ui->m_fileEdit->setText(sPath);
            QPixmap mapSource;
            mapSource.load(sPath);

            int w=mapSource.width();
            int h=mapSource.height();

             QPixmap map2=QPixmap(w*2,h);
            m_image1.load(sPath);
            m_image2=m_image1.mirrored(true,false);

             QPainter painter2(&map2);
            painter2.drawImage(0,0,m_image1);
            painter2.drawImage(w,0,m_image2);

            map2.save(path+"/testMirrored.jpg");
            QLabel *lb=ui->label;
            lb->setPixmap(map2);
            lb->setScaledContents(true);
        }


}

原图

QT代码实现将图片镜像翻转效果_图片镜像翻转

效果图如下:

QT代码实现将图片镜像翻转效果_图片镜像翻转_02