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. Issues with loadFromData function in QImage
Forum Updated to NodeBB v4.3 + New Features

Issues with loadFromData function in QImage

Scheduled Pinned Locked Moved Solved General and Desktop
qimageqpixmaptaglibimageissue
14 Posts 5 Posters 2.1k 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.
  • kshegunovK kshegunov

    @Nick-Redwill said in Issues with loadFromData function in QImage:

    filename.toStdWString().c_str()
    

    This doesn't look quite right.

    PS.

    Nor does this:
    frame->picture().data()

    N Offline
    N Offline
    Nick Redwill
    wrote on last edited by
    #5

    @kshegunov said in Issues with loadFromData function in QImage:

    This doesn't look quite right.

    This code works fine. Its just convert qstring to wstring and then to wchar_t *. This part works identical in both applications.

    The problem occurs on the line with loadFromData function.

    kshegunovK 1 Reply Last reply
    0
    • N Nick Redwill

      @kshegunov said in Issues with loadFromData function in QImage:

      This doesn't look quite right.

      This code works fine. Its just convert qstring to wstring and then to wchar_t *. This part works identical in both applications.

      The problem occurs on the line with loadFromData function.

      kshegunovK Offline
      kshegunovK Offline
      kshegunov
      Moderators
      wrote on last edited by
      #6

      @Nick-Redwill said in Issues with loadFromData function in QImage:

      Its just convert qstring to wstring and then to wchar_t *

      No it's not. After the conversion from QString to wstring you're taking a pointer to a temporary.

      Read and abide by the Qt Code of Conduct

      N 1 Reply Last reply
      2
      • kshegunovK kshegunov

        @Nick-Redwill said in Issues with loadFromData function in QImage:

        Its just convert qstring to wstring and then to wchar_t *

        No it's not. After the conversion from QString to wstring you're taking a pointer to a temporary.

        N Offline
        N Offline
        Nick Redwill
        wrote on last edited by
        #7

        @kshegunov said in Issues with loadFromData function in QImage:

        No it's not. After the conversion from QString to wstring you're taking a pointer to a temporary.

        Okay, I'll fix this later. It doesn't matter now. The problem is in another part of the code.

        1 Reply Last reply
        0
        • N Offline
          N Offline
          Nick Redwill
          wrote on last edited by Nick Redwill
          #8

          I also noticed, that in application where code doesn't work occurs warning:

          libpng warning: ICCP: known incorrect sRGB profile
          

          Its occurs right after loadFromData function call.

          JonBJ 1 Reply Last reply
          0
          • N Nick Redwill

            I also noticed, that in application where code doesn't work occurs warning:

            libpng warning: ICCP: known incorrect sRGB profile
            

            Its occurs right after loadFromData function call.

            JonBJ Offline
            JonBJ Offline
            JonB
            wrote on last edited by
            #9

            @Nick-Redwill Google libpng warning: ICCP: known incorrect sRGB profile

            1 Reply Last reply
            1
            • N Offline
              N Offline
              Nick Redwill
              wrote on last edited by
              #10
              QByteArray bytes (pic.data(), pic.size());
              QFile file ("test.png");
              file.open(QIODevice::WriteOnly);
              file.write(bytes);
              file.close();
              
              if (coverImg.load("test.png")) {
                   qDebug() << "Image loaded!";
              } else {
                   qDebug() << "Error image!";
              }
              

              I changed the code to this and it also doesn't work in one project and works in another. Moreover, the file in both projects is created correctly (i can open it using the windows image viewer). The libpng warning is still displayed.

              Christian EhrlicherC 1 Reply Last reply
              0
              • N Offline
                N Offline
                Nick Redwill
                wrote on last edited by
                #11

                Why does QImage behave differently in different projects?

                1 Reply Last reply
                0
                • N Nick Redwill
                  QByteArray bytes (pic.data(), pic.size());
                  QFile file ("test.png");
                  file.open(QIODevice::WriteOnly);
                  file.write(bytes);
                  file.close();
                  
                  if (coverImg.load("test.png")) {
                       qDebug() << "Image loaded!";
                  } else {
                       qDebug() << "Error image!";
                  }
                  

                  I changed the code to this and it also doesn't work in one project and works in another. Moreover, the file in both projects is created correctly (i can open it using the windows image viewer). The libpng warning is still displayed.

                  Christian EhrlicherC Offline
                  Christian EhrlicherC Offline
                  Christian Ehrlicher
                  Lifetime Qt Champion
                  wrote on last edited by
                  #12

                  @Nick-Redwill said in Issues with loadFromData function in QImage:

                  I changed the code to this and it also doesn't work in one project and works in another.

                  What means 'does not work'.
                  Please proper error description...

                  Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                  Visit the Qt Academy at https://academy.qt.io/catalog

                  1 Reply Last reply
                  1
                  • N Offline
                    N Offline
                    Nick Redwill
                    wrote on last edited by
                    #13

                    I solved the problem! I just needed to add the imageformats folder with dll files to the exe file folder.

                    Christian EhrlicherC 1 Reply Last reply
                    0
                    • N Nick Redwill

                      I solved the problem! I just needed to add the imageformats folder with dll files to the exe file folder.

                      Christian EhrlicherC Offline
                      Christian EhrlicherC Offline
                      Christian Ehrlicher
                      Lifetime Qt Champion
                      wrote on last edited by
                      #14

                      @Nick-Redwill This is what windeployqt is for...

                      Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                      Visit the Qt Academy at https://academy.qt.io/catalog

                      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