Как использовать python / pygame для отключения определенных пикселей в Windows 7 - PullRequest
0 голосов
/ 10 июля 2019

У меня есть старый ноутбук с Windows 7, который я хочу превратить в простые часы.Я использовал pygame, чтобы заполнить экран (0,0,0) черными пикселями, а затем нарисовал время в светло-голубых пикселях.

The clock when all lights are off in the room

Проблема в том, (0,0,0) черные пиксели не совпадают с выключенными пикселями.Как вы можете видеть на картинке, даже при минимальной яркости ноутбука черные пиксели все еще имеют яркость.Это заставляет часы работать как ночной свет, а это не то, что мне нужно.

Я хочу, чтобы эти черные пиксели полностью исчезли - например, когда ноутбук выключен, а яркость не падает с экрана - при сохранениисиние пиксели на.Какие-либо предложения?Это вообще возможно?

Если это возможно, я бы предположил, что решение - это либо изменить что-то в настройках Windows 7, либо сделать что-то, о чем я не думал, с помощью pygame или другой библиотеки python.

—Исследование пока что —

В верхнем ответе на этот пост утверждается, что невозможно «отключить» пиксели на стороне компьютера: https://superuser.com/questions/1155129/how-to-turn-off-make-black-certain-pixels-on-a-screen

Интересные предложения, такие как изменение контрастанастройки в Windows или скачивание диммерной программы, хотя ОП сказал, что ни одна из этих идей не сделала его достаточно темным: 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/

1 Ответ

1 голос
/ 10 июля 2019

Хотя определенные пиксели нельзя включить или выключить для светодиодного дисплея, можно управлять освещением за дисплеем (подсветкой).

Это означает, что часы могут быть включены днем ​​и полностью выключены ночью - хотя, к сожалению, они не могут быть частично включены, как ожидал вопрос.

Python-код для включения и выключения подсветки (режим сна также доступен для окон):

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)
...