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 Offline
    mrjjM Offline
    mrjj
    Lifetime Qt Champion
    wrote on last edited by
    #2

    @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 1 Reply Last reply
    2
    • kshegunovK Offline
      kshegunovK Offline
      kshegunov
      Moderators
      wrote on last edited by kshegunov
      #3

      @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.

      Read and abide by the Qt Code of Conduct

      1 Reply Last reply
      3
      • 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