QT图片旋转

Posted 朝闻道

tags:

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

目前发现有两种方法,如下:

1、使用QPixmap的transformed函数旋转,这个函数默认是以图片中心为旋转点,不能随意设置旋转点,使用如下:

QMatrix leftmatrix;
 leftmatrix.rotate(180);

QLabel *pLabel= new QLabel();
pLabel->setPixmap(QPixmap(“:/images/img.png”).transformed(leftmatrix,Qt::SmoothTransformation));

实现效果是顺时计旋转180度

2、使用QPainter类

void Dialog::paintEvent(QPaintEvent *)
{
QPainter painter(this);
QPixmap pix;
pix.load("images/img.png");
painter.translate(50,50); //让图片的中心作为旋转的中心
    painter.rotate(90); //顺时针旋转90度
    painter.translate(-50,-50); //使原点复原
    painter.drawPixmap(0,0,100,100,pix);
}

http://blog.csdn.net/itjobtxq/article/details/9231103

以上是关于QT图片旋转的主要内容,如果未能解决你的问题,请参考以下文章

Qt中可以对图片镜像旋转

QT中给各控件增加背景图片(可缩放可旋转)的几种方法

QT中给各控件增加背景图片(可缩放可旋转)的几种方法

31.QPainter-rotate()函数分析-文字旋转不倾斜,图片旋转实现等待

23.Quick QML-简单且好看的图片浏览器-支持多个图片浏览缩放旋转滑轮切换图片

在 Qt 中创建旋转进度条