2

我最喜欢的 Mac OSX 应用程序之一是 Blacktree 的 Nocturne,它可以反转整个屏幕的颜色,这样您就可以在整个系统范围内得到一个黑白显示,在黑暗的房间里很容易看清。例子。

我去寻找,似乎目前没有办法为 Windows 执行此操作。您可以获得的最接近的要么是大多数应用程序会忽略的黑暗主题(无论如何都不能解决问题 - 请参阅下面我对 Paul 的回答的评论),或者像 F.lux 或 Friendeye 这样的应用程序,它们只会降低亮度和/或更改颜色设置,但我发现没有任何东西可以真正反转整个屏幕的颜色。

所以我的问题是,是否有可能编写一个在 Windows 中执行此操作的应用程序?DWM、NVIDIA 驱动程序或图形子系统的任何其他部分是否有任何 API 允许您在如此基本的级别上操作渲染图像?一个人甚至会在哪里?

4

4 回答 4

2

这已经是 Windows 中的设置,将主题设置为高对比度:

在此处输入图像描述

于 2012-01-03T20:09:26.980 回答
2

问题已经有一年多了,但更合适的答案可能是http://arcanesanctum.net/negativescreen/

也适用于 Windows 8,源代码在 C# 中。它可能会立即解决您的问题,或者您可以阅读源代码以扩展功能。

于 2013-08-17T20:09:26.123 回答
1

我能想到的一种方法:

  • 注入一个挂钩 CreateProcess 的 DLL 以将自身注入到未来的进程中
  • 挂钩 EndPaint 以调用 GetDIBits、反转所有内容和 SetDIBits

DLL 注入是一种非常常见的技术。至于挂钩,Microsoft Detours应该可以正常工作。

此外,您可能会扰乱防病毒软件,因此将其作为销售产品分发可能不是最好的主意。

于 2012-01-03T20:01:50.540 回答
1

您可以使用 Windows7 内置的放大镜获得类似的效果:启动它,单击“-”按钮使其放大 100%(因此没有实际放大!),然后在“选项”对话框中,选中“打开颜色”反转”复选框。

更多关于WikiHow的详细信息。

于 2012-01-11T07:41:25.080 回答