Qt QPixmap旋转图像

1. 使用transform函数

当使用QPixmap时,可以使用transformed函数来创建一个旋转后的图像。transformed函数返回一个QPixmap对象,该对象是原始QPixmap对象的副本,但应用了指定的变换。用这个方法最简单,推荐!

示例:

#include 
#include 
#include 

int main(int argc, char *argv[]) {
    QApplication a(argc, argv);

    // 加载图像
    QPixmap originalPixmap("path_to_your_image.jpg");

    // 旋转图像
    QPixmap rotatedPixmap = originalPixmap.transformed(QTransform().rotate(45));

    // 显示旋转后的图像
    QLabel label;
    label.setPixmap(rotatedPixmap);
    label.show();

    return a.exec();
}

2. 使用QPainter

在Qt中,可以使用QPixmap和QPainter来旋转图像。

示例:

#include 
#include 
#include 
#include 

int main(int argc, char *argv[]) {
    QApplication a(argc, argv);

    // 加载图像
    QPixmap originalPixmap("path_to_your_image.jpg");

    // 旋转图像
    QTransform transform;
    transform.rotate(45); // 旋转45度

    QPixmap rotatedPixmap(originalPixmap.size());
    rotatedPixmap.fill(Qt::transparent); // 用透明色填充旋转后的图像

    QPainter painter(&rotatedPixmap);
    painter.setRenderHint(QPainter::Antialiasing);
    painter.setRenderHint(QPainter::SmoothPixmapTransform);
    painter.setTransform(transform);
    painter.drawPixmap(0, 0, originalPixmap);
    painter.end();

    // 显示旋转后的图像
    QLabel label;
    label.setPixmap(rotatedPixmap);
    label.show();

    return a.exec();
}

你可能感兴趣的:(Qt,QPixmap,旋转,Qt,C++)