You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Possibly related to #1212 but minus the crash and more focused on how Magick.NET handles different color profiles in JXL.
I am using a recent version of ImageGlass Kobe v8.7.11.6 x64 which uses Magick.NET 12.2.0.
So JXL currently have 2 ways in describing the color profile, with embedded CICP-styled enum or ICC profile. I tried both methods and notices that IG displayed them differently.
Left one uses CICP and right one uses ICC, both are encoded lossless in JXL.
The color profile used is Rec.2020 with linear TRC.
It seems like the CICP got discarded and applied as a standard sRGB instead.
However after further investigation, I tried magick identify -verbose to both images and here's the result on Profiles info:
As we can see that ImageMagick (7.1.0-52 Q16-HDRI x64) can retrieve the correct synthetic profile created by JXL's decode. This is further proven that when converting them back to PNGs with magick, the displayed output and color profiles are identical.
The only difference is that the synthetic profile from CICP is on v4 spec, while the ICC one is on v2 spec. This doesn't seem the case though, since ImageGlass can display other images (like PNG) with v4 ICC profiles correctly. So I presume the profile isn't passed properly on Magick.NET.
Not sure what is happening but this looks like an issue in ImageGlass. I am getting the same output for both input images when I convert the two .jxl files to another format. I used the latest version 12.2.1 but I don't think anything recently changed that would explain the difference.
Seems like we can't determine the problem there either, tried IG 9.0 beta 2 only fixes the TRC / gamma, but color primaries are still reassigned back to sRGB and ended up looking desaturated.
Maybe something to do with SystemDrawing instead? Since the file conversion to other formats works fine.
Magick.NET version
12.2.0
Environment (Operating system, version and so on)
Windows 10 Pro 21H2 64bit
Description
Possibly related to #1212 but minus the crash and more focused on how Magick.NET handles different color profiles in JXL.
I am using a recent version of ImageGlass Kobe v8.7.11.6 x64 which uses Magick.NET 12.2.0.
So JXL currently have 2 ways in describing the color profile, with embedded CICP-styled enum or ICC profile. I tried both methods and notices that IG displayed them differently.
Left one uses CICP and right one uses ICC, both are encoded lossless in JXL.
The color profile used is Rec.2020 with linear TRC.
It seems like the CICP got discarded and applied as a standard sRGB instead.
However after further investigation, I tried
magick identify -verbose
to both images and here's the result onProfiles
info:As we can see that ImageMagick (7.1.0-52 Q16-HDRI x64) can retrieve the correct synthetic profile created by JXL's decode. This is further proven that when converting them back to PNGs with
magick
, the displayed output and color profiles are identical.The only difference is that the synthetic profile from CICP is on v4 spec, while the ICC one is on v2 spec. This doesn't seem the case though, since ImageGlass can display other images (like PNG) with v4 ICC profiles correctly. So I presume the profile isn't passed properly on Magick.NET.
Steps to Reproduce
JXL files used along with the raw PNG - google drive
The text was updated successfully, but these errors were encountered: