如何使用 python/pygame 关闭 Windows 上的某些像素 7

How to use python/pygame to turn off certain pixels on Windows 7

我有一台旧的 Windows 7 笔记本电脑,我想把它变成一个简单的时钟。我使用 pygame 用 (0,0,0) 个黑色像素填充屏幕,然后在上面用浅蓝色像素绘制时间。

问题是,(0,0,0) 黑色像素与关闭像素不同。正如您在图片中看到的,即使笔记本电脑的亮度尽可能低,黑色像素仍然具有亮度。这让时钟充当夜灯,这不是我想要的。

我希望那些黑色像素完全消失——就像当笔记本电脑关闭并且屏幕没有亮度时——同时保持蓝色像素亮起。有什么建议么?这可能吗?

如果可能的话,我想解决方案是要么更改 Windows 7 设置中的某些内容,要么做一些我没有想到的 pygame 或另一个 python图书馆。

—迄今为止的研究—

这个post的置顶回复说在电脑端“关闭”像素是不可能的:https://superuser.com/questions/1155129/how-to-turn-off-make-black-certain-pixels-on-a-screen

有趣的建议,例如更改 Windows 中的对比度设置或下载调光程序,尽管 OP 表示这两个想法都不够暗:https://answers.microsoft.com/en-us/windows/forum/windows_7-desktop/how-do-i-dim-the-screen-brightness-further-than/ad7388af-e07a-4d9b-b71d-0e3f77a61c1c

背光信息:https://www.google.com/amp/s/amp.reddit.com/r/explainlikeimfive/comments/3hm6pd/eli5_why_dont_pixels_that_show_the_color_black/

虽然无法打开或关闭 LED 显示屏的特定像素,但可以控制显示屏后面的光(背光)。

这意味着时钟可以在白天打开并在晚上完全关闭 - 尽管不幸的是,它永远不会像问题所希望的那样部分打开。

Python开启和关闭背光的代码(睡眠也是windows的一个选项):

def backlight(argument):
    if sys.platform.startswith('linux'): # expecting "on" or "off" as the argument
        import os
        os.system("xset dpms force " + argument)

    elif sys.platform.startswith('win'): # expecting "on", "off", or "sleep" as the argument
        import win32gui
        import win32con

        if argument == "on":
          win32gui.SendMessage(win32con.HWND_BROADCAST, win32con.WM_SYSCOMMAND,
                               win32con.SC_MONITORPOWER, -1)
        if argument == "off":
          win32gui.SendMessage(win32con.HWND_BROADCAST, win32con.WM_SYSCOMMAND,
                               win32con.SC_MONITORPOWER, 2)
        if argument == "sleep":
          win32gui.SendMessage(win32con.HWND_BROADCAST, win32con.WM_SYSCOMMAND,
                               win32con.SC_MONITORPOWER, 1)