Because of , Qt::FastTransformation is always used when zooming in.
As much as I understand that it provides a more accurate pixel
representation, resulting images often don't look as nice as they do in
other programs, e.g. Firefox.
Personally I'd argue that as a general purpose image viewer, Gwenview
should prefer quality (visually) to accuracy. But if the maintainers
don't like this idea, I'd really appreciate it to at least make it
+1 for SmoothTransformation. I zoom in to make a smaller image as big as the screen, so I don't have to squint at it. The nearest neighbour scaling is useless for that.
// We want nearest neighbour when zooming in since that provides the most
// accurate representation of pixels,
I am very curious about these „we”. Who are they and what do they do that requires this super accurate representation?
Or maybe it should automatically use smooth but switch to fast beyond a certain zoom level. At high zoom, seeing the individual pixels is probably what you want, rather than a big blurry mess.
A possibly relevant merge request was started @ https://invent.kde.org/graphics/gwenview/-/merge_requests/122
Git commit 4e26fe2ccf2701fac9972e52d0507ea1121f0b95 by Nate Graham.
Committed on 07/12/2021 at 17:38.
Pushed by ngraham into branch 'master'.
Only switch to Qt::FastTransformation ("showing pixels") at 500% zoom
Right now Gwenview uses Qt::FastTransformation to show individual pixels
at any zoom value higher than 100%. This is not optimal and results in
poor display for low zoom levels where a smoothed image is more
aesthetically desirable. But there are use cases for seeing individual
pixels--for example when looking at the details of a line-art graphic
or an icon, or examing an image to see its individual colors. These use
cases becomes more likely as the zoom level is increased.
Accordingly, this commit changes Gwenview to shop smoothing zoomed-in
images at an arbitrarily-chosen threshold of 400% zoom. At that level or
above, the image will be unsmoothed and you can see the individual
M +5 -4 lib/documentview/rasterimageitem.cpp
Can you please make this configurable?
I am using Gwenview sometimes for multiple hours a day to compare images at multiple zoom levels (mainly 100%, 200%, 400% and 800%).
I need to see individual pixels to do an accurate comparison.
(In reply to Jens Ramke from comment #6)
> Can you please make this configurable?
(In reply to cantabile from comment #1)
> I am very curious about these „we”. Who are they and what do they do that
> requires this super accurate representation?
I'm one of them.
So with the above commit, smoothing is now automatic until 400% zoom, at which point you will see the individual pixels. Are folks saying they have use cases where it would be useful to see the raw pixels at 101-399% zoom as well?
(In reply to Nate Graham from comment #8)
> Are folks saying they have
> use cases where it would be useful to see the raw pixels at 101-399% zoom as
Yes, I do use 200% zoom quite a bit and I need to see an unfiltered image.
OK. I can look into adding a configurable option for this. It does seem like the kind of think that could be subjective. I'll keep the default point at which it switches from smoothing to raw pixels at 400% though. But you'll be able to change it.