0
0 Комментариев

Pythone 3.5

Здравствуйте. Такая проблема. Хочу прочитать значение всех пикселей экрана (принтом в терминал или в тхт файл, не важно). Приоритет именно на скорость. Код выполняется но постепенно замедляясь . .. и где-то после 10 000 пикселей  выдает ошибку  «pywintypes.error: (0, ‘GetPixel’, ‘No error message is available’)». Я так понимаю перегружается оператива , или просто идет захламление в коде  устаревшими данными, как отдавать оперативу обратно системе толком не понял. Пытался использовать dc.collect() , но толе я его не так юзаю, толе он тут не помогает. Подскажите пожалуйста , как исправить код чтобы можно было прочитать всех пиксели экрана без ошибок и замедлений.

import win32gui
 def pixel_color_at(x, y):
    hdc = win32gui.GetWindowDC(win32gui.GetDesktopWindow())
    c = int(win32gui.GetPixel(hdc, x, y))
# (r, g, b)
    return (c & 0xff), ((c >> 8) & 0xff), ((c >> 16) & 0xff) #преобразование в RGB
 y=0
for i in range(1,760):# по x
    x=0
    y=y+1
    for i in range (1,1300): # по у
        x=x+1
        pixel = pixel_color_at(x,y)
        print (pixel,x)


Добавить комментарий