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. Scaling QPixmap
Forum Updated to NodeBB v4.3 + New Features

Scaling QPixmap

Scheduled Pinned Locked Moved Unsolved General and Desktop
13 Posts 3 Posters 3.9k Views 2 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.
  • mrjjM mrjj

    @AlvaroS said:
    Hi
    Its a classic.
    Scaled returns a copy ! it do not change the original.

    img_scene = img_scene.scaled(my_height,my_width);

    will do it.

    AlvaroSA Offline
    AlvaroSA Offline
    AlvaroS
    wrote on last edited by
    #4

    @mrjj said:

    @AlvaroS said:
    Hi
    Its a classic.
    Scaled returns a copy ! it do not change the original.

    img_scene = img_scene.scaled(my_height,my_width);

    will do it.

    @kshegunov said:

    @AlvaroS
    Hello,
    You're not actually changing the pixmap. Look at the documentation of QPixmap::scaledToHeight. Try something like this:

    img_scene = img_scene.scaledToHeight(my_height);
    img_scene = img_scene.scaledToWidth(my_width);
    

    Kind regards.

    Thanks a lot for answering me.
    Now it works but not fine.

    I have some items in my scene and I would like that items appear in foreground so over the QPixmap.

    How can I do that?
    Thanks again!!

    1 Reply Last reply
    0
    • mrjjM Offline
      mrjjM Offline
      mrjj
      Lifetime Qt Champion
      wrote on last edited by
      #5

      hi
      try with
      http://doc.qt.io/qt-5/qgraphicsitem.html#setZValue

      AlvaroSA 1 Reply Last reply
      0
      • mrjjM mrjj

        hi
        try with
        http://doc.qt.io/qt-5/qgraphicsitem.html#setZValue

        AlvaroSA Offline
        AlvaroSA Offline
        AlvaroS
        wrote on last edited by
        #6

        @mrjj Thanks a lot my friend!! It works!!!

        Now I have another problem... sorry for being boring.

        The image that I add is a irregular square, something like: http://www.maspa.se/SPANSKA/Matematica4/Geometria/Poligonos/Figuras/cuadrilatero1.gif

        But in the scene if I write:
        img_scene = img_scene.scaledToHeight(my_height);
        img_scene = img_scene.scaledToWidth(my_width);

        The image appears like a perfect regular square like: http://science-all.com/images/square/square-03.jpg

        However if I do not write the scaled it appears fine....

        Any ideas what am I doing wrong?!

        Thanks a lot

        1 Reply Last reply
        0
        • mrjjM Offline
          mrjjM Offline
          mrjj
          Lifetime Qt Champion
          wrote on last edited by
          #7

          ehh
          Im not sure how scaling the
          polygon image could ever make it a rect !?!?

          AlvaroSA 1 Reply Last reply
          0
          • mrjjM mrjj

            ehh
            Im not sure how scaling the
            polygon image could ever make it a rect !?!?

            AlvaroSA Offline
            AlvaroSA Offline
            AlvaroS
            wrote on last edited by
            #8

            @mrjj i don't know but it scales as a rect..

            mrjjM 1 Reply Last reply
            0
            • AlvaroSA AlvaroS

              @mrjj i don't know but it scales as a rect..

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

              @AlvaroS
              try with other image. :)
              just for test.

              AlvaroSA 1 Reply Last reply
              0
              • mrjjM mrjj

                @AlvaroS
                try with other image. :)
                just for test.

                AlvaroSA Offline
                AlvaroSA Offline
                AlvaroS
                wrote on last edited by
                #10

                @mrjj Yes!! It seems that "scaled" not scale whole image... maybe?

                mrjjM 1 Reply Last reply
                0
                • AlvaroSA AlvaroS

                  @mrjj Yes!! It seems that "scaled" not scale whole image... maybe?

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

                  @AlvaroS
                  Hmm i was think we only saw some of it ?
                  so it looked like rect. :)

                  AlvaroSA 2 Replies Last reply
                  0
                  • mrjjM mrjj

                    @AlvaroS
                    Hmm i was think we only saw some of it ?
                    so it looked like rect. :)

                    AlvaroSA Offline
                    AlvaroSA Offline
                    AlvaroS
                    wrote on last edited by
                    #12

                    @mrjj Yes, it seems what I said yesterday, it does not scale the whole image...
                    Maybe I have to use a Qt::Transformation or something like that...
                    The other idea that I have watched on the internet is to use Qlabel, but I need to use Scene because I have items there...

                    1 Reply Last reply
                    0
                    • mrjjM mrjj

                      @AlvaroS
                      Hmm i was think we only saw some of it ?
                      so it looked like rect. :)

                      AlvaroSA Offline
                      AlvaroSA Offline
                      AlvaroS
                      wrote on last edited by
                      #13

                      @mrjj said:

                      @AlvaroS
                      Hmm i was think we only saw some of it ?
                      so it looked like rect. :)

                      @AlvaroS said:

                      @mrjj Yes, it seems what I said yesterday, it does not scale the whole image...
                      Maybe I have to use a Qt::Transformation or something like that...
                      The other idea that I have watched on the internet is to use Qlabel, but I need to use Scene because I have items there...

                      I have tried this:

                                  img_scene=img_scene.scaled(my_height,my_width, Qt::IgnoreAspectRatio, Qt::FastTransformation);
                                  label_img->setPixmap(img_scene);
                                  label_img->setScaledContents(true);
                                  scene->addWidget(label_img)
                      

                      But it works in the same way..

                      1 Reply Last reply
                      0

                      • Login

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