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);
}
}
原图
效果图如下: