9

Seemingly simple thing but I can't figure it out.

I'm on Windows 10 with a high-DPI monitor for which I have 125% scaling enabled. The screenshots look good (crisp, correct size) in local apps like Paint.NET which also take high DPI into consideration but when posted online, e.g., here, it is too large and blurry:

too large and blurry

I get it, everything is made 125% larger by Windows so the result is 1.25x bigger than what I see locally but the result simply does not look good. I tried to downscale it by the factor of 0.8 (= 1/1.25) but the result is again not great (natural size but a bit blurry):

downscaled

I should stress that I understand the DPI calculations behind the scenes and the result is "correct" in a mathematical sense of the word but I'm still looking for ways to make screenshots look good for the readers (good = as if they were taken on a system with 100% DPI scaling).

(Changing DPI and logging out of Windows every time is not a practical option for me.)

9
  • What feature release are you on? 1607 or 1703?
    – Ramhound
    Commented Apr 10, 2017 at 16:00
  • Could it be compression is whats making the screen-shots blurry after saving in the paint.net
    – arthur kay
    Commented Apr 10, 2017 at 17:43
  • 3
    You need to capture it at 100%. The 125% interpolation getting it onto the screen degrades it. Then your adjustment to take it back degrades it again.
    – fixer1234
    Commented Apr 10, 2017 at 18:26
  • 2
    @fixer1234 you're right but I don't know how to take screenshots at 100% DPI without logging in and out of Windows which is impractical as noted in the OP. Commented Apr 10, 2017 at 20:11
  • 2
    @fixer1234 I think the ability to change DPI and have it take effect immediately has only been available since a recent Windows 10 update. Previous releases of Windows 10 (and all versions of Windows before 10) required you to log out & back in before the DPI change took effect. Commented Aug 24, 2017 at 16:04

1 Answer 1

6

I would also have liked a good solution for this problem, but I don't believe that one exists. I will explain below why I think so.

When one specifies 125% scaling for Windows, this means that Windows smears every pixel over 1.25 pixels, or every 4 pixels over 5. This has the effect of the screen seeming larger, while really being smaller, and makes the text more readable.

But this also makes everything a bit blurry because what is displayed on the display is a processed version, with the pixels being interpolated from their context, so that not even one pixel is left as it was originally drawn by the application.

What Screen capture does is simply copy pixels from the screen. It has no way for accessing the original content issued by the application(s), so that this is really all that it can do. For 125% scaling it will then have 5 pixels for every original 4 pixels.

Down-scaling the captured image screenshot by 80% will return these 5 pixels to 4, but this is another resize of the image and another interpolation of the pixels, so the pixels are even further away from the original ones.

I do not see any solution to this complexity, except taking the screenshots with the screen scaling at 100%, which in the latest version of Windows 10 is immediate and does not require a reboot or even a re-login. You may compensate for the resulting small screen by using a screen-capture program such as Greenshot, which displays a magnifier for the screen-area where is positioned the cursor.

There are programs that can change the screen resolution to others that are supported by the monitor without a reboot, but they are rarely a solution since they are a hardware solution, while Windows scaling is done in software. I explain this below with an example.

For example, my screen has a resolution of 3840x2160 and my scaling is set to 150%. The resolution that matches natively that scaling is 2560x1440, but this resolution is not natively supported by my display adapter, so I cannot change to it. The situation might be different with your own adapter, as you may easily verify.

I don't really see any other satisfactory solution to this problem, except temporarily changing the scaling to 100%, unless Microsoft decides to supply one in a future version of Windows.

2
  • > "It has no way for accessing the original content issued by the application(s)" In principle, for a windows capture, the dwm should have access to the original unscaled content. It would be great to have access to that.
    – Hugues
    Commented Dec 5, 2023 at 20:13
  • I tried to use the DPI setting of the executable, but I wasn't able to make it work.
    – mins
    Commented Jan 4 at 13:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .