• QT 实现图片旋转的两种方法


    第一种方案

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

    QMatrix matrix;
    matrix.rotate(45);
    
    QLabel *Label= new QLabel();
    Label->setPixmap(QPixmap(“:/images.png”).transformed(matrix, Qt::SmoothTransformation));
    

    该段程序实现的效果是使图片顺时针旋转 45 度。

    第二种方案

    使用 QPainter 这位“画家”,示例程序如下:

    void Widget::paintEvent(QPaintEvent *)
    {
        QPainter painter(this);
        QPixmap disc(":/disc.png");
    
        /* 碟机转动 */
        if(imageRotate++ == 360)
            imageRotate = 0;
        /* 设定旋转中心点 */
        painter.translate(130,150);
        /* 旋转的角度 */
        painter.rotate(imageRotate);
        /* 恢复中心点 */
        painter.translate(-130,-150);
        /* 画图操作 */
        painter.drawPixmap(40,60,180,180, disc);
    }
    

    参考自:www.cnblogs.com/findumars/p/5574332.html

  • 相关阅读:
    Golang 函数
    Golang type
    Golang 分支控制和循环
    Golang 字符型
    Golang运算符
    final 和 static 的区别
    Golang标识符命名规则
    Golang值类型与引用类型
    Golang指针
    启动 jvm 参数小总结
  • 原文地址:https://www.cnblogs.com/GyForever1004/p/9038505.html
Copyright © 2020-2023  润新知