jurplel / qView

Practical and minimal image viewer
https://interversehq.com/qview/
GNU General Public License v3.0
2.05k stars 120 forks source link

64 bit PNGs look wrong when opened in qView #660

Open gnaservicesinc opened 9 months ago

gnaservicesinc commented 9 months ago

Environment: Enviroment: MacOS 14.3 Sonoma Qview 6.1

Information: 64 bit PNGs look wrong when opened in qView.

Attached are two screen shots of the same 64bit png image file being displayed in qView and then in Preview to demonstrate the issue. Notice the floor looks spotty with streaks of color. It looks really poor. How the image looks in qView (Version 6.1): screen_shot_qView

How the image looks Preview (Version 11.0 (1056.3.2)): screen_shot_Preview

jdpurcell commented 6 months ago

Can you upload the original .png file so we can use it for troubleshooting?

gnaservicesinc commented 6 months ago

0001_2

Here is the image.

gnaservicesinc commented 6 months ago

The issue is beyond just PNG. It impacts 64 bit images in other formats but in different ways. Here I have converted the image to exr and to hdr and it looks dramatically different in each in qview (none look good/correct) and the image looks identical (as it should) in preview in all 3 formats. As an exr in preview preview_as_exr

As an exr in qview qview_as_exr

As an HDR in preview preview_as_hdr

As an HDR in qview qview_as_hdr

Original 0001_2

jurplel commented 4 months ago

I'm not sure why base64 PNGs might behave like this.

I think that exr support through kimageformats might be somewhat.. incomplete.

gnaservicesinc commented 3 months ago

I tested this on nightly 2024-08-14.1 and it is sometimes fixed.

I have two monitors.

If I open qview nightly and have the qView main window opened on my ViewSonic monitor, it opens it and shows the image correctly. I can then move that opened image window to either monitor and the image looks correct.

If I open qview nightly and have the qView main window opened on my Samsung monitor, it opens it and shows the image wrong like it does in the current stable version of qView. I can then move that opened image window to either monitor and it still shows the image incorrect on either monitor.

So

The ViewSonic monitor is a VX2739WM and the issues is resolved when opened initially on that monitor. The Samsung monitor is a SMS27A350H and the behavior is unchanged when an image is initially opened on that monitor.

My stab in the dark guess based on this behavior is: I assume the program is phrasing the icc profile for the monitor it is opened on and then keeping that even when moved to another monitor and that's why it stays working when opened on one monitor and stays not working when opened on the other. I assume this might mean that the ICC profile parsing bug is fixed for some monitors but not others.

I figured this might be something you wanted to be made aware of.