看似简单的事情但我却无法弄清楚。
我在 Windows 10 上安装了高 DPI 显示器,并启用了 125% 缩放。屏幕截图在 Paint.NET 等本地应用程序中看起来不错(清晰,大小正确),这些应用程序也考虑了高 DPI,但在网上发布时,例如这里,它太大而且模糊:
我明白了,Windows 将所有东西都放大了 125%,所以结果比我在本地看到的大 1.25 倍,但结果看起来并不好。我尝试将其缩小 0.8 倍(= 1/1.25),但结果仍然不太好(自然大小但有点模糊):
我应该强调,我理解幕后的 DPI 计算,并且结果在数学意义上是“正确的”,但我仍在寻找让屏幕截图对读者看起来不错的方法(好 = 就好像它们是在具有 100% DPI 缩放的系统上拍摄的)。
(每次更改 DPI 并退出 Windows 对我来说不是一个实用的选择。)
答案1
我也希望能找到一个好的解决方案来解决这个问题,但我认为不存在这样的解决方案。下面我将解释我为什么这么认为。
当为 Windows 指定 125% 的缩放比例时,这意味着 Windows 会对超过 1.25 个像素的每个像素或超过 5 个像素的每 4 个像素进行涂抹。这会使屏幕看起来更大,而实际上更小,并使文本更具可读性。
但这也使得一切变得有点模糊,因为显示屏上显示的是经过处理后的版本,像素是从其上下文中插值的,因此 甚至没有留下一个像素,因为它最初是由应用程序绘制的。
屏幕捕获所做的只是从屏幕上复制像素。它无法访问应用程序发出的原始内容,因此这实际上是它所能做的一切。对于 125% 的缩放,它将每 4 个原始像素有 5 个像素。
将截取的图像截图缩小 80% 会将这 5 个像素恢复为 4 个,但这是图像的另一次调整大小和像素的另一次插值,因此像素与原始像素的距离会更远。
我没有看到解决这一复杂性的任何方法,除非以 100% 的屏幕缩放比例截取屏幕截图,这在最新版本的 Windows 10 中是即时的,不需要重新启动甚至重新登录。您可以使用屏幕捕获程序来弥补由此产生的小屏幕,例如 绿射,在光标所在的屏幕区域显示一个放大镜。
有些程序可以在不重启的情况下将屏幕分辨率更改为显示器支持的其他分辨率,但它们很少能解决问题,因为它们是硬件解决方案,而 Windows 缩放是通过软件完成的。我在下面用一个例子来解释这一点。
例如,我的屏幕分辨率为 3840x2160,缩放比例设置为 150%。与该缩放比例匹配的分辨率为 2560x1440,但我的显示适配器本身不支持此分辨率,因此我无法更改为该分辨率。您自己的适配器的情况可能有所不同,您可以轻松验证。
除了暂时将缩放比例改为 100% 之外,我真的没有看到任何其他令人满意的解决方案,除非微软决定在未来版本的 Windows 中提供一个解决方案。