Bug 413958

Summary: .hdr file are opened as raw via libraw
Product: [Applications] krita Reporter: Alex <eneeen>
Component: File formatsAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: wishlist CC: tamtamy.tymona
Priority: NOR    
Version First Reported In: 4.2.7-beta1   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Alex 2019-11-08 19:48:38 UTC
SUMMARY
.hdr files can't be loaded as they are treated as digital camera raw files and libraw importer is used to open them.

STEPS TO REPRODUCE
1. Download any .hdri file from e.g. hdrihaven and open it

OBSERVED RESULT
libraw window will show and error message after clicking ok


SOFTWARE/OS VERSIONS
Windows: 10
Comment 1 Tiar 2019-11-08 20:28:19 UTC
I believe Krita just doesn't support this file format yet. From HDR formats, at least PNG, EXR and KRA all support HDR images, probably there are even more formats. I would suggest (for now, until Krita gets .hdri support) converting those files to .exr and only then loading to Krita.

Setting to wish since it's a new feature.
Comment 2 Alex 2019-11-08 20:36:54 UTC
Indeed, thank you! I thought it was been introduced, that's why this bug report.
Comment 3 Alex 2021-02-05 09:27:22 UTC

*** This bug has been marked as a duplicate of bug 384136 ***
Comment 4 Dmitry Kazakov 2023-07-26 10:49:14 UTC
Git commit 1111025d4c79e52694df0f68f11bd11937aa11aa by Dmitry Kazakov, on behalf of Rasyuqa A. H.
Committed on 26/07/2023 at 12:49.
Pushed by dkazakov into branch 'master'.

[FEATURE] Add support for Radiance RGBE

The patch adds basic Radiance RGBE format `.hdr` import/export functionality 
to Krita.
Related: bug 384136

Import code is based on KImageFormats as they're indeed can parse RGBE images, but the results are always in uint8, aka. `QImage::Format_RGB32`. And export code is inspired from https://www.graphics.cornell.edu/~bjw/rgbe.html

Some format limitation:
- Flattened image
- No color profile, exported image will be always converted to float, linear sRGB
- No alpha

M  +1    -0    krita/data/aboutdata/developers.txt
M  +6    -1    libs/koplugin/KisMimeDatabase.cpp
M  +2    -0    plugins/impex/CMakeLists.txt
M  +1    -1    plugins/impex/raw/krita_raw_import.json
A  +25   -0    plugins/impex/rgbe/CMakeLists.txt
A  +282  -0    plugins/impex/rgbe/RGBEExport.cpp     [License: GPL(v2.0+)]
A  +28   -0    plugins/impex/rgbe/RGBEExport.h     [License: GPL(v2.0+)]
A  +346  -0    plugins/impex/rgbe/RGBEImport.cpp     [License: GPL(v2.0+)]
A  +23   -0    plugins/impex/rgbe/RGBEImport.h     [License: GPL(v2.0+)]
A  +37   -0    plugins/impex/rgbe/kis_wdg_options_rgbe.cpp     [License: GPL(v2.0+)]
A  +29   -0    plugins/impex/rgbe/kis_wdg_options_rgbe.h     [License: GPL(v2.0+)]
A  +96   -0    plugins/impex/rgbe/kis_wdg_options_rgbe.ui
A  +74   -0    plugins/impex/rgbe/krita_rgbe.desktop
A  +13   -0    plugins/impex/rgbe/krita_rgbe_export.json
A  +13   -0    plugins/impex/rgbe/krita_rgbe_import.json
A  +8    -0    plugins/impex/rgbe/tests/CMakeLists.txt
A  +-    --    plugins/impex/rgbe/tests/data/results/256box.hdr.png
A  +-    --    plugins/impex/rgbe/tests/data/results/objects.kra
A  +-    --    plugins/impex/rgbe/tests/data/sources/256box.hdr
A  +-    --    plugins/impex/rgbe/tests/data/sources/hdr/objects.hdr
A  +95   -0    plugins/impex/rgbe/tests/kis_rgbe_test.cpp     [License: GPL(v2.0+)]
A  +30   -0    plugins/impex/rgbe/tests/kis_rgbe_test.h     [License: GPL(v2.0+)]

https://invent.kde.org/graphics/krita/-/commit/1111025d4c79e52694df0f68f11bd11937aa11aa