Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Windows7上使用python/pygame关闭某些像素_Python_Windows_Windows 7_Pygame_Pixel - Fatal编程技术网

如何在Windows7上使用python/pygame关闭某些像素

如何在Windows7上使用python/pygame关闭某些像素,python,windows,windows-7,pygame,pixel,Python,Windows,Windows 7,Pygame,Pixel,我有一台旧的Windows7笔记本电脑,我想把它变成一个简单的时钟。我使用pygame用(0,0,0)黑色像素填充屏幕,然后在上面用浅蓝色像素绘制时间 问题是,(0,0,0)黑色像素与关闭的像素不同。如图所示,即使笔记本电脑的亮度尽可能低,黑色像素仍然具有亮度。这就使时钟起到了夜灯的作用,这不是我想要的 我希望这些黑色像素完全消失——比如当笔记本电脑关机,屏幕没有亮度时——同时保持蓝色像素打开。有什么建议吗?这可能吗 如果可能的话,我猜解决方案要么是在Windows7设置中更改一些内容,要么是

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

问题是,(0,0,0)黑色像素与关闭的像素不同。如图所示,即使笔记本电脑的亮度尽可能低,黑色像素仍然具有亮度。这就使时钟起到了夜灯的作用,这不是我想要的

我希望这些黑色像素完全消失——比如当笔记本电脑关机,屏幕没有亮度时——同时保持蓝色像素打开。有什么建议吗?这可能吗

如果可能的话,我猜解决方案要么是在Windows7设置中更改一些内容,要么是在pygame或其他python库中做一些我没有想到的事情

-迄今为止的研究-

这篇文章的顶部回复称,不可能“关闭”计算机端的像素:

有趣的建议,如更改Windows中的对比度设置或下载调光器程序,尽管OP表示这两个想法都没有让它变得足够暗:


背光信息:

当LED显示屏的特定像素无法打开或关闭时,可以控制显示屏后面的灯光(背光)

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

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


你应该告诉自己显示器是如何工作的,背光的作用是什么。然后,您将看到,没有什么比您命名的像素更差了。除非他有一个OLED显示器,但这不太可能,你也不需要在pygame中特别切换。好吧,假设它是一个LED显示器,有没有办法让python关闭背光而不在后台实际停止代码?(我可以让时钟在晚上关掉,白天再打开)承诺:你链接的项目似乎是针对特定的LCD面板,而不是一般的显示器。由于您使用的是windows,因此我将研究如何使用windows API,使用PyWin32之类的库,以编程方式控制显示器的亮度。我还没有使用过那个库,但它表明至少应该可以这样做。当然,这只会改变整个显示器的亮度,而不仅仅是“黑色像素”。干得好!如果您至少需要在linux中对背光进行更细粒度的控制,您可以看看xrandr。
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)