更改显示屏亮度(C#)

6

可能是重复问题:
在C#中设置Windows 7屏幕亮度

我在网上搜索了一些关于如何通过C#改变显示器亮度的主题。对于大部分内容,我得到的是有关在Windows中更改伽马值的链接(这里这里),这对我来说很有效。但是我想知道这是否是减少亮度或使显示器变暗的正确方法(此操作是否可以节省电源?)

这是减少亮度的好方法还是有更好的方法呢?我使用的是Windows 7 (我忘记了Windows默认的伽玛值是多少?请问有人知道吗?)


我怀疑那里提供的解决方案实际上并没有改变显示器亮度。我没有看到任何关于DDC的参考,只有关于Windows的。@Cipher显然可以测试它,但如果它实际上没有与显示器通信,则结果可能不会那么好。 - pyrocumulus
1
还有一个可能相关的东西:http://skeptics.stackexchange.com/questions/4373/does-a-webpage-with-a-black-background-save-energy,其中推断在 LCD 显示器上以软件方式改变颜色亮度(而不是调整硬件的背光水平)应该没有什么影响。这并没有考虑那些根据它们试图呈现的图像主动调整背光的显示器,但我怀疑这可能会因制造商而异,等等。 - deepee1
1个回答

2
对比度/亮度是物理显示器内部的属性;而不是软件。Windows只知道Gamma。大多数工具和指南都会秘密地编辑Gamma,这显然与亮度/对比度不同。
但是我找到了这个链接:“如何通过软件控制显示器的‘真实’亮度和对比度” 这并不是一个关于它如何实现的技术解释,而是列出了常见“工具”的问题,这些工具声称可以做到这一点。相反,它展示了几个程序的使用,这些程序实际上会与监视器通信。但是,监视器以及视频卡需要支持DDC协议。
也许您可以使用DDC协议以C#开发自己的方法。可能已经有库了,但如果没有,我想这将是一个困难的实现。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接