Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Rotate an QLabel
Forum Updated to NodeBB v4.3 + New Features

Rotate an QLabel

Scheduled Pinned Locked Moved Unsolved General and Desktop
14 Posts 4 Posters 19.1k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #5

    Hi,

    Or you can use QImage::transformed passing it a rotation matrix.

    Interested in AI ? www.idiap.ch
    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

    1 Reply Last reply
    5
    • C Offline
      C Offline
      CptN3m0
      wrote on last edited by
      #6

      Okey I found a solution for me

      QPixmap pixmap(*ui->label->pixmap());
      QMatrix rm;
      rm.rotate(50);
      pixmap = pixmap.transformed(rm);
      ui->label->setPixmap(pixmap);
      

      but the problem ist now, Im trying to draw the pixmap every time at the different rotate which was saved at mine vector. what is happening, it´s just rotate further

      mrjjM 1 Reply Last reply
      0
      • C CptN3m0

        Okey I found a solution for me

        QPixmap pixmap(*ui->label->pixmap());
        QMatrix rm;
        rm.rotate(50);
        pixmap = pixmap.transformed(rm);
        ui->label->setPixmap(pixmap);
        

        but the problem ist now, Im trying to draw the pixmap every time at the different rotate which was saved at mine vector. what is happening, it´s just rotate further

        mrjjM Offline
        mrjjM Offline
        mrjj
        Lifetime Qt Champion
        wrote on last edited by
        #7

        @CptN3m0
        Well the normal solution is to keep the original unrotated bitmap and
        assign a copy to the label. Then when new rotate is need , the original image is used
        and not the already rotated version.

        You can also rotate it back, and rotate to a new angle but that often
        distorts the image slowly.

        C 1 Reply Last reply
        3
        • mrjjM mrjj

          @CptN3m0
          Well the normal solution is to keep the original unrotated bitmap and
          assign a copy to the label. Then when new rotate is need , the original image is used
          and not the already rotated version.

          You can also rotate it back, and rotate to a new angle but that often
          distorts the image slowly.

          C Offline
          C Offline
          CptN3m0
          wrote on last edited by
          #8

          @mrjj can u write an example?

          mrjjM 1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #9

            Hi,

            Where does your QPixmap come from in the first place ?

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            1 Reply Last reply
            1
            • C CptN3m0

              @mrjj can u write an example?

              mrjjM Offline
              mrjjM Offline
              mrjj
              Lifetime Qt Champion
              wrote on last edited by
              #10

              @CptN3m0
              Wait i just realized. you are just doing it to rotate text right ?
              Not the actual image ?
              So only the text matters. so u can just clear it and redraw text.

              QPixmap pixmap(*ui->label->pixmap());
              pixmap.fill( Qr::red ); // just clear old
              QMatrix rm;
              rm.rotate(50);
              pixmap = pixmap.transformed(rm);
              ...drawtext..
              ui->label->setPixmap(pixmap);

              C 1 Reply Last reply
              0
              • mrjjM mrjj

                @CptN3m0
                Wait i just realized. you are just doing it to rotate text right ?
                Not the actual image ?
                So only the text matters. so u can just clear it and redraw text.

                QPixmap pixmap(*ui->label->pixmap());
                pixmap.fill( Qr::red ); // just clear old
                QMatrix rm;
                rm.rotate(50);
                pixmap = pixmap.transformed(rm);
                ...drawtext..
                ui->label->setPixmap(pixmap);

                C Offline
                C Offline
                CptN3m0
                wrote on last edited by
                #11

                @mrjj 0_1524812883275_Download (1).png seems like it is a text, instead .png file

                mrjjM 1 Reply Last reply
                0
                • C CptN3m0

                  @mrjj 0_1524812883275_Download (1).png seems like it is a text, instead .png file

                  mrjjM Offline
                  mrjjM Offline
                  mrjj
                  Lifetime Qt Champion
                  wrote on last edited by
                  #12

                  @CptN3m0
                  So you have 2.png in a resource file ?
                  alo, the goal is to rotate text, so the image has nothing u want to show. Just used to draw the text on ?

                  C 1 Reply Last reply
                  0
                  • mrjjM mrjj

                    @CptN3m0
                    So you have 2.png in a resource file ?
                    alo, the goal is to rotate text, so the image has nothing u want to show. Just used to draw the text on ?

                    C Offline
                    C Offline
                    CptN3m0
                    wrote on last edited by
                    #13

                    @mrjj I need to rotate this 2.png inside my QLabel. There is no thext inside

                    mrjjM 1 Reply Last reply
                    0
                    • C CptN3m0

                      @mrjj I need to rotate this 2.png inside my QLabel. There is no thext inside

                      mrjjM Offline
                      mrjjM Offline
                      mrjj
                      Lifetime Qt Champion
                      wrote on last edited by
                      #14

                      @CptN3m0
                      Ok, so the the goal is to rotate 2.png ? and not text.
                      Anyhow, just add a QPixmap to .h and save the
                      2.png to it.
                      Then when you rotate always use the copy and not the already rotated one.

                      1 Reply Last reply
                      2

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved