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. How can I open openexr image on qt widget
Forum Updated to NodeBB v4.3 + New Features

How can I open openexr image on qt widget

Scheduled Pinned Locked Moved Unsolved General and Desktop
49 Posts 5 Posters 10.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.
  • N Nathan Miguel

    @SGaist Sorry bother, but now I've been able to install everything, thanks to everyone, but how can I include this in my project

    VRoninV Offline
    VRoninV Offline
    VRonin
    wrote on last edited by
    #24

    @Nathan-Miguel said in How can I open openexr image on qt widget:

    but how can I include this in my project

    http://doc.qt.io/qt-5/third-party-libraries.html
    http://doc.qt.io/qtcreator/creator-project-qmake-libraries.html

    "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
    ~Napoleon Bonaparte

    On a crusade to banish setIndexWidget() from the holy land of Qt

    N 1 Reply Last reply
    2
    • VRoninV VRonin

      @Nathan-Miguel said in How can I open openexr image on qt widget:

      but how can I include this in my project

      http://doc.qt.io/qt-5/third-party-libraries.html
      http://doc.qt.io/qtcreator/creator-project-qmake-libraries.html

      N Offline
      N Offline
      Nathan Miguel
      wrote on last edited by
      #25

      @VRonin only have a problem, I just see these files for me and what does not accept other formats of includes other than .h, .lib, .a

      0_1544644496765_a7f24467-ca07-4d98-8be5-32182a76f268-image.png

      0_1544644529928_043c200c-dcdd-4d9e-b2a2-63f0898d01dd-image.png

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

        You don't have to link against them. They are plugins that will be loaded at run time.

        You may have to add a call to QCoreApplication::addLibraryPath for your application to find them.

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

        N 2 Replies Last reply
        2
        • SGaistS SGaist

          You don't have to link against them. They are plugins that will be loaded at run time.

          You may have to add a call to QCoreApplication::addLibraryPath for your application to find them.

          N Offline
          N Offline
          Nathan Miguel
          wrote on last edited by
          #27

          @SGaist there is a problem so, cmake is not wanting to include the openexr library in kimageformat, and this makes my program compatible with psd, krikta and others except openexr

          0_1544722625396_6bd37dd2-d3a2-4fc1-aa59-81b5575e481e-image.png

          1 Reply Last reply
          0
          • SGaistS SGaist

            You don't have to link against them. They are plugins that will be loaded at run time.

            You may have to add a call to QCoreApplication::addLibraryPath for your application to find them.

            N Offline
            N Offline
            Nathan Miguel
            wrote on last edited by VRonin
            #28

            @SGaist I was able to make cmake find them but I still have an error compiling openexr's ".lib"

            0_1544753199859_97a920a1-a53e-4933-893d-8a771b85212f-image.png

            CMakeFiles\kimg_exr.dir/objects.a(exr.cpp.obj): In function `K_IStream::read(char*, int)':
            C:/Git/kimageformats/src/imageformats/exr.cpp:61: undefined reference to `Iex_2_3::throwErrnoExc(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
            CMakeFiles\kimg_exr.dir/objects.a(exr.cpp.obj): In function `EXRHandler::read(QImage*)':
            C:/Git/kimageformats/src/imageformats/exr.cpp:169: undefined reference to `Imf_2_3::globalThreadCount()'
            C:/Git/kimageformats/src/imageformats/exr.cpp:169: undefined reference to `Imf_2_3::RgbaInputFile::RgbaInputFile(Imf_2_3::IStream&, int)'
            C:/Git/kimageformats/src/imageformats/exr.cpp:170: undefined reference to `Imf_2_3::RgbaInputFile::dataWindow() const'
            C:/Git/kimageformats/src/imageformats/exr.cpp:178: undefined reference to `Imf_2_3::RgbaInputFile::setFrameBuffer(Imf_2_3::Rgba*, unsigned long long, unsigned long long)'
            C:/Git/kimageformats/src/imageformats/exr.cpp:179: undefined reference to `Imf_2_3::RgbaInputFile::readPixels(int, int)'C:/Git/kimageformats/src/imageformats/exr.cpp:169: undefined reference to `Imf_2_3::RgbaInputFile::~RgbaInputFile()'
            C:/Git/kimageformats/src/imageformats/exr.cpp:169: undefined reference to `Imf_2_3::RgbaInputFile::~RgbaInputFile()'
            CMakeFiles\kimg_exr.dir/objects.a(exr.cpp.obj): In function `EXRHandler::canRead(QIODevice*)':
            C:/Git/kimageformats/src/imageformats/exr.cpp:212: undefined reference to `Imf_2_3::isImfMagic(char const*)'
            CMakeFiles\kimg_exr.dir/objects.a(exr.cpp.obj): In function `Iex_2_3::InputExc::InputExc(char const*)':
            C:/PROGRA~1/OpenEXR/include/OpenEXR/IexBaseExc.h:156: undefined reference to `Iex_2_3::BaseExc::BaseExc(char const*)'
            CMakeFiles\kimg_exr.dir/objects.a(exr.cpp.obj): In function `Iex_2_3::InputExc::~InputExc()':
            C:/PROGRA~1/OpenEXR/include/OpenEXR/IexBaseExc.h:156: undefined reference to `Iex_2_3::BaseExc::~BaseExc()'
            CMakeFiles\kimg_exr.dir/objects.a(exr.cpp.obj): In function `K_IStream::K_IStream(QIODevice*, QByteArray const&)':
            C:/Git/kimageformats/src/imageformats/exr.cpp:40: undefined reference to `Imf_2_3::IStream::IStream(char const*)'
            CMakeFiles\kimg_exr.dir/objects.a(exr.cpp.obj):exr.cpp:(.rdata$_ZTV9K_IStream[_ZTV9K_IStream]+0x20): undefined reference to `Imf_2_3::IStream::isMemoryMapped() const'
            CMakeFiles\kimg_exr.dir/objects.a(exr.cpp.obj):exr.cpp:(.rdata$_ZTV9K_IStream[_ZTV9K_IStream]+0x30): undefined reference to `Imf_2_3::IStream::readMemoryMapped(int)'
            CMakeFiles\kimg_exr.dir/objects.a(exr.cpp.obj): In function `K_IStream::~K_IStream()':
            C:/Git/kimageformats/src/imageformats/exr.cpp:36: undefined reference to `Imf_2_3::IStream::~IStream()'
            CMakeFiles\kimg_exr.dir/objects.a(exr.cpp.obj):exr.cpp:(.rdata$_ZTVN7Iex_2_38InputExcE[_ZTVN7Iex_2_38InputExcE]+0x20): undefined reference to `Iex_2_3::BaseExc::what() const'
            CMakeFiles\kimg_exr.dir/objects.a(exr.cpp.obj):exr.cpp:(.rdata$.refptr._ZN4half8_toFloatE[.refptr._ZN4half8_toFloatE]+0x0): undefined reference to `half::_toFloat'
            collect2.exe: error: ld returned 1 exit status
            mingw32-make.exe[2]: *** [src\imageformats\CMakeFiles\kimg_exr.dir\build.make:107: bin/imageformats/kimg_exr.dll] Error 1
            mingw32-make.exe[1]: *** [CMakeFiles\Makefile2:200: src/imageformats/CMakeFiles/kimg_exr.dir/all] Error 2
            mingw32-make.exe: *** [Makefile:140: all] Error 2
            
            1 Reply Last reply
            0
            • SGaistS Offline
              SGaistS Offline
              SGaist
              Lifetime Qt Champion
              wrote on last edited by
              #29

              Can you check in which OpenEXR library you have these symbols ? It's likely the llmlmf library but better double check.

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

              N 1 Reply Last reply
              0
              • SGaistS SGaist

                Can you check in which OpenEXR library you have these symbols ? It's likely the llmlmf library but better double check.

                N Offline
                N Offline
                Nathan Miguel
                wrote on last edited by Nathan Miguel
                #30

                @SGaist strange, because all the libs here are good, until the includes are complete

                0_1544875563064_887a0e51-2f6d-478f-a2f8-f155effb02bf-image.png

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

                  I didn't meant you are missing a library, just wondering which one contains the missing symbols and thus if you are linking against it.

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

                  N 1 Reply Last reply
                  0
                  • SGaistS SGaist

                    I didn't meant you are missing a library, just wondering which one contains the missing symbols and thus if you are linking against it.

                    N Offline
                    N Offline
                    Nathan Miguel
                    wrote on last edited by VRonin
                    #32

                    @SGaist The log says that "moc_predefs.h" is giving the library error to generate kimg_exr.dll, more briefly, but what can I do to correct it, I tried to switch between VS and mingw

                    [ 1%] Automatic MOC for target kimg_exr

                    AutoMoc subprocess error

                    The content generation command for "moc_predefs.h" failed.

                    Command

                    C:/Qt/Tools/mingw730_64/bin/g++.exe -dM -E -c "C:/Program Files/CMake/share/cmake-3.13/Modules/CMakeCXXCompilerABI.cpp" -IC:/Git/kimageformats/build/src/imageformats -IC:/Git/kimageformats/src/imageformats -IC:/Qt/5.12.0/mingw73_64/include -IC:/Qt/5.12.0/mingw73_64/include/QtGui -IC:/Qt/5.12.0/mingw73_64/include/QtANGLE -IC:/Qt/5.12.0/mingw73_64/include/QtCore -IC:/Qt/5.12.0/mingw73_64/./mkspecs/win32-g++ "-IC:/Program Files/OpenEXR/include/OpenEXR" -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_CAST_TO_ASCII -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_SIGNALS_SLOTS_KEYWORDS -DQT_NO_URL_CAST_FROM_STRING -DQT_USE_QSTRINGBUILDER -DUNICODE -DWIN32_LEAN_AND_MEAN -DWINVER=0x0600 -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D_USE_MATH_DEFINES -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0600 -DWIN32
                    

                    Output

                    src\imageformats\CMakeFiles\kimg_exr_autogen.dir\build.make:56: recipe for target 'src/imageformats/CMakeFiles/kimg_exr_autogen' failed
                    mingw32-make.exe[2]: *** [src/imageformats/CMakeFiles/kimg_exr_autogen] Error 1
                    CMakeFiles\Makefile2:569: recipe for target 'src/imageformats/CMakeFiles/kimg_exr_autogen.dir/all' failed
                    mingw32-make.exe[1]: *** [src/imageformats/CMakeFiles/kimg_exr_autogen.dir/all] Error 2
                    Makefile:139: recipe for target 'all' failed
                    mingw32-make.exe: *** [all] Error 2
                    
                    1 Reply Last reply
                    0
                    • SGaistS Offline
                      SGaistS Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on last edited by
                      #33

                      You can't mix and match C++ libraries built with VS and MinGW, you have to always use the same compiler.

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

                      N 1 Reply Last reply
                      3
                      • VRoninV Offline
                        VRoninV Offline
                        VRonin
                        wrote on last edited by VRonin
                        #34

                        I tried to build it myself but I must admit I too struggle with getting openexr to link. I will post my progress below anyway to make it more accessible to other people to try and fix this. The commands should create a zip file containing each dependency and a zip file containing the KDE API libraries but I can't get the final link over the line

                        The series of commands I used can be replicated to build all the dependencies and the library (as you can see, I built with Qt5.12 on MSVC 2015):

                        set cmake_path=C:\Program Files\CMake\bin
                        set 7zip_path=C:\Program Files\7-Zip
                        set git_path=C:\Program Files\Git\bin
                        set qt_path=C:\Qt\5.12\msvc2015_64
                        set curl_path=C:\libcurl\bin
                        set compiler_path=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
                        set comp_platform=amd64
                        set use_mingw=false
                        set originalWD=%CD%
                        set PATH=%cmake_path%;%git_path%;%curl_path%;%7zip_path%;%PATH%
                        call "%qt_path%\bin\qtenv2.bat"
                        cd %originalWD%
                        echo on
                        if %use_mingw%==true set PATH=%compiler_path%;%PATH%
                        if %use_mingw%==false call "%compiler_path%\vcvarsall.bat" %comp_platform%
                        if %use_mingw%==true (set CMAKEGENERATOR="MinGW Makefiles") else (set CMAKEGENERATOR="NMake Makefiles")
                        mkdir .\bzip2src && cd .\bzip2src
                        curl -k -L https://sourceforge.net/projects/gnuwin32/files/bzip2/1.0.5/bzip2-1.0.5-src.zip --output bzip2.zip
                        7z x bzip2.zip
                        del /F /Q  bzip2.zip
                        cd src\bzip2\1.0.5\bzip2-1.0.5\
                        mkdir build && cd build
                        echo cmake_minimum_required(VERSION 3.5) >> ..\CMakeLists.txt
                        echo project(bzip2 C) >> ..\CMakeLists.txt
                        echo set(bzip2_VERSION 1.0.5) >> ..\CMakeLists.txt
                        echo set(bzip2_SRCS >> ..\CMakeLists.txt
                        echo bzlib.c >> ..\CMakeLists.txt
                        echo blocksort.c >> ..\CMakeLists.txt
                        echo huffman.c >> ..\CMakeLists.txt
                        echo crctable.c >> ..\CMakeLists.txt
                        echo compress.c >> ..\CMakeLists.txt
                        echo decompress.c >> ..\CMakeLists.txt
                        echo randtable.c >> ..\CMakeLists.txt
                        echo ) >> ..\CMakeLists.txt
                        echo add_library(bzip2 SHARED ${bzip2_SRCS}) >> ..\CMakeLists.txt
                        echo install(TARGETS bzip2 >> ..\CMakeLists.txt
                        echo EXPORT bzip2 >> ..\CMakeLists.txt
                        echo RUNTIME DESTINATION bin COMPONENT library >> ..\CMakeLists.txt
                        echo LIBRARY DESTINATION lib COMPONENT library >> ..\CMakeLists.txt
                        echo ARCHIVE DESTINATION lib COMPONENT library >> ..\CMakeLists.txt
                        echo ) >> ..\CMakeLists.txt
                        echo install(FILES bzlib.h >> ..\CMakeLists.txt
                        echo DESTINATION include >> ..\CMakeLists.txt
                        echo COMPONENT headers >> ..\CMakeLists.txt
                        echo ) >> ..\CMakeLists.txt
                        cmake -G %CMAKEGENERATOR% -DCMAKE_INSTALL_PREFIX=../../../../../../bzip2 -DCMAKE_BUILD_TYPE=RELEASE ../
                        cmake --build .
                        cmake --build . --target install
                        cd ..\..\..\..\..\..\
                        set PATH=%CD%\bzip2;%PATH%
                        7z a -tzip bzip2.zip .\bzip2\*
                        mkdir .\liblzma && cd .\liblzma
                        curl -k -L https://tukaani.org/xz/xz-5.2.4-windows.zip --output liblzma.zip
                        7z x liblzma.zip
                        del /F /Q liblzma.zip
                        if %use_mingw%==true (ren bin_i686 lib) else (mkdir lib && mkdir bin)
                        if %use_mingw%==false curl -k -L https://tukaani.org/xz/xz-5.2.4.tar.gz --output liblzma.tar.gz
                        if %use_mingw%==false 7z x liblzma.tar.gz
                        if %use_mingw%==false del /F /Q liblzma.tar.gz
                        if %use_mingw%==false 7z x liblzma.tar
                        if %use_mingw%==false del /F /Q liblzma.tar
                        if %use_mingw%==false cd xz-5.2.4\windows\vs2013
                        if %comp_platform%==x86 if %use_mingw%==false msbuild xz_win.sln /property:Configuration=Release /property:Platform=Win32 && xcopy /Y /I /K Release\Win32\liblzma_dll\*.dll ..\..\..\bin && xcopy /Y /I /K Release\Win32\liblzma_dll\*.lib ..\..\..\lib
                        if %comp_platform%==amd64 if %use_mingw%==false msbuild xz_win.sln /property:Configuration=Release /property:Platform=x64 && xcopy /Y /I /K Release\x64\liblzma_dll\*.dll ..\..\..\bin && xcopy /Y /I /K Release\x64\liblzma_dll\*.lib ..\..\..\lib
                        if %use_mingw%==false cd ..\..\..\
                        set PATH=%CD%;%PATH%
                        cd ..\
                        7z a -tzip liblzma.zip .\liblzma\include\
                        7z a -tzip liblzma.zip .\liblzma\lib\
                        if %use_mingw%==false 7z a -tzip liblzma.zip .\liblzma\bin\
                        git clone https://github.com/madler/zlib.git zlibBuild
                        cd zlibBuild
                        mkdir .\build && cd .\build
                        cmake -G %CMAKEGENERATOR% -DCMAKE_INSTALL_PREFIX=../../zlib -DCMAKE_BUILD_TYPE=RELEASE ../
                        cmake --build .
                        cmake --build . --target install
                        cd ..\..\
                        7z a -tzip zlib.zip .\zlib\*
                        set PATH=%CD%\zlib;%PATH%
                        git clone https://github.com/openexr/openexr.git OpenEXRsrc
                        cd OpenEXRsrc
                        mkdir .\build && cd .\build
                        cmake -G %CMAKEGENERATOR% -DOPENEXR_NAMESPACE_VERSIONING=OFF -DOPENEXR_BUILD_PYTHON_LIBS=OFF -DCMAKE_DEBUG_POSTFIX=d -DOPENEXR_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=../../OpenEXR -DCMAKE_BUILD_TYPE=DEBUG ../
                        cmake --build .
                        cmake --build . --target install
                        cmake -G %CMAKEGENERATOR% -DOPENEXR_NAMESPACE_VERSIONING=OFF -DOPENEXR_BUILD_PYTHON_LIBS=OFF -DOPENEXR_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=../../OpenEXR -DCMAKE_BUILD_TYPE=RELEASE ../
                        cmake --build .
                        cmake --build . --target install
                        cd ..\..\
                        7z a -tzip OpenEXR.zip .\OpenEXR\*
                        set PATH=%CD%\OpenEXR;%PATH%
                        git clone git://anongit.kde.org/extra-cmake-modules ECM
                        cd ECM
                        mkdir .\build && cd .\build
                        cmake -G %CMAKEGENERATOR% -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=../../ECMbuild -DCMAKE_BUILD_TYPE=RELEASE ../
                        cmake --build .
                        cmake --build . --target install
                        cd ..\..\
                        set PATH=%CD%\ECMbuild;%PATH%
                        git clone git://anongit.kde.org/karchive.git KArchive
                        cd KArchive
                        mkdir .\build && cd .\build
                        cmake -G %CMAKEGENERATOR% -DBUILD_TESTING=OFF -DCMAKE_DEBUG_POSTFIX=d -DCMAKE_INSTALL_PREFIX=../../KDEAPI -DCMAKE_BUILD_TYPE=DEBUG ../
                        cmake --build .
                        cmake --build . --target install
                        cmake -G %CMAKEGENERATOR% -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=../../KDEAPI -DCMAKE_BUILD_TYPE=RELEASE ../
                        cmake --build .
                        cmake --build . --target install
                        cd ..\..\
                        set PATH=%CD%\KDEAPI;%PATH%
                        git clone git://anongit.kde.org/kimageformats.git KImageFormats
                        cd KImageFormats
                        mkdir .\build && cd .\build
                        cmake -G %CMAKEGENERATOR% -DBUILD_TESTING=OFF -DCMAKE_DEBUG_POSTFIX=d -DCMAKE_INSTALL_PREFIX=../../KDEAPI -DCMAKE_BUILD_TYPE=DEBUG ../
                        cmake --build .
                        cmake --build . --target install
                        cmake -G %CMAKEGENERATOR% -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=../../KDEAPI -DCMAKE_BUILD_TYPE=RELEASE ../
                        cmake --build .
                        cmake --build . --target install
                        cd ..\..\
                        7z a -tzip KDElib.zip .\KDEAPI\*
                        

                        You'll need to have installed 7-zip, curl, CMake and git.
                        You'll need to change the initial lines to match your system:

                        • set cmake_path=C:\Program Files\CMake\bin: path to the CMake executable
                        • set 7zip_path=C:\Program Files\7-Zip: path to the 7-zip executable
                        • set git_path=C:\Program Files\Git\bin: path to the git executable
                        • set qt_path=C:\Qt\5.12\msvc2015_64: path to your qt directory
                        • set curl_path=C:\libcurl\bin: path to the curl executable
                        • set compiler_path=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC: path to the compiler binary folder
                        • set comp_platform=amd64 can be either amd64 or x86 determines if the build is 64 or 32 bit
                        • set use_mingw=false set to true if you use MinGW or false if you use MSVC

                        One final thing, if you use MinGW you might need to adjust the line if %use_mingw%==true (ren bin_i686 lib) else (mkdir lib && mkdir bin) changing bin_i686 to the name of the folder containing the libraries that match your compiler (there are 3 available)

                        "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                        ~Napoleon Bonaparte

                        On a crusade to banish setIndexWidget() from the holy land of Qt

                        1 Reply Last reply
                        5
                        • SGaistS SGaist

                          You can't mix and match C++ libraries built with VS and MinGW, you have to always use the same compiler.

                          N Offline
                          N Offline
                          Nathan Miguel
                          wrote on last edited by
                          #35

                          @SGaist @VRonin you save my lifeeeeeee. but Well I chose to use VS because mingw gave object error, but how can I include it in qt now, you can give a clearer explanation because documentation is confusing

                          VRoninV 1 Reply Last reply
                          0
                          • N Nathan Miguel

                            @SGaist @VRonin you save my lifeeeeeee. but Well I chose to use VS because mingw gave object error, but how can I include it in qt now, you can give a clearer explanation because documentation is confusing

                            VRoninV Offline
                            VRoninV Offline
                            VRonin
                            wrote on last edited by
                            #36

                            @Nathan-Miguel said in How can I open openexr image on qt widget:

                            but how can I include it in qt

                            I imagine you mean Qt Creator. Right click on your project -> add library -> external library -> select the .lib file and the include directory (the d suffix should be detected automatically).

                            "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                            ~Napoleon Bonaparte

                            On a crusade to banish setIndexWidget() from the holy land of Qt

                            N 1 Reply Last reply
                            0
                            • VRoninV VRonin

                              @Nathan-Miguel said in How can I open openexr image on qt widget:

                              but how can I include it in qt

                              I imagine you mean Qt Creator. Right click on your project -> add library -> external library -> select the .lib file and the include directory (the d suffix should be detected automatically).

                              N Offline
                              N Offline
                              Nathan Miguel
                              wrote on last edited by Nathan Miguel
                              #37

                              @VRonin even the libs was fine, but in question my qt still does not open and I still have some doubts,

                              1. Do I need to add the openexr and libs includes?
                              2. Can I continue using the QPixelmap label?
                              3. In kimageformat did not come any include in .h, do I have to use .desktop or use the openexr includes to open the image?

                              This is the function I'm using to open an image

                              void MainWindow::on_actionOpen_Image_triggered()
                              {
                                  QString filter = "Imagens (*.bmp *.cur *.gif *icns *.ico *.jpg *.jpeg *.pdm *.pgm *.png *.ppm *.svg *.tga *.tif *.tiff *.wbmp *.webp *.xmb *.xpm) ;; All Files (*.*)";
                                  QString filename = QFileDialog::getOpenFileName(this, "Open", QDir::homePath(), filter);
                                  QFile file(filename);
                                  QImage image(filename);
                                  if (!image.isNull())
                                      {
                                           QImage image(filename);
                                           image = image.scaledToWidth(ui->labelimg->width(), Qt::SmoothTransformation);
                                           image = image.scaledToWidth(ui->labelimg->height(), Qt::SmoothTransformation);
                                           ui->labelimg->setPixmap(QPixmap::fromImage(image));
                                      }
                                  else
                                      {
                                          QMessageBox::warning(this, "Error", "Image can not open");
                                          filename = "";
                                      }
                              
                              }
                              
                              1 Reply Last reply
                              0
                              • SGaistS Offline
                                SGaistS Offline
                                SGaist
                                Lifetime Qt Champion
                                wrote on last edited by
                                #38

                                Where did you install the plugins ?
                                You can also set the QT_DEBUG_PLUGINS environment variable to 1 in the Run part of the Project panel to see what is happening.

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

                                N 1 Reply Last reply
                                0
                                • SGaistS SGaist

                                  Where did you install the plugins ?
                                  You can also set the QT_DEBUG_PLUGINS environment variable to 1 in the Run part of the Project panel to see what is happening.

                                  N Offline
                                  N Offline
                                  Nathan Miguel
                                  wrote on last edited by Nathan Miguel
                                  #39

                                  @SGaist The .desktop files are in the files and programs folder, the libs continued in the folder on I compiled, which was in C: / Git / kimageformat / build, and the dll were for the qt compiler itself, msvc2017-64 in the plugin / image folder

                                  One more thing, in this directory "C: \ Qt \ 5.12.0 \ msvc2017_64 \ plugins \ imageformats", I realized that the "tga" format, had tbm support here, and gives the same error when I try to open open exr in the app debug "QImage :: scaleWidth: Image is a null image".

                                  First I used the .dll, .pdb files with this name "kimg_exr", then renamed "qexr", both the dll and the pdb, but it still did not work, nor with the native tga that worked right.

                                  And if it is useful these are my includes

                                  #include "mainwindow.h"
                                  #include "ui_mainwindow.h"
                                  #include <QDesktopServices>
                                  #include <QMessageBox>
                                  #include <QUrl>
                                  #include <QFile>
                                  #include <QFileDialog>
                                  #include <QImage>
                                  #include <QPixmap>
                                  #include <QImageIOPlugin>
                                  #include <QImageIOHandler>
                                  

                                  source code: https://github.com/nathanmiguel123/Denoiser-Script

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

                                    Did you call nmake install at some point ?

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

                                    N 1 Reply Last reply
                                    0
                                    • SGaistS SGaist

                                      Did you call nmake install at some point ?

                                      N Offline
                                      N Offline
                                      Nathan Miguel
                                      wrote on last edited by
                                      #41

                                      @SGaist noup

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

                                        Then this might explain the missing plugins.

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

                                        N 1 Reply Last reply
                                        0
                                        • SGaistS SGaist

                                          Then this might explain the missing plugins.

                                          N Offline
                                          N Offline
                                          Nathan Miguel
                                          wrote on last edited by
                                          #43

                                          @SGaist So I'm practically going to have to build manually?

                                          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