Быстрое получение цвета некоторых пикселей на экране в Python в Windows 7

Мне нужно получить цвет некоторых пикселей на экране или из активного окна, и мне нужно сделать это быстро . Я пробовал использовать win32gui и ctypes / windll, но они слишком медленные. Каждая из этих программ получает цвет в 100 пикселей:

import win32gui
import time
time.clock()
for y in range(0, 100, 10):
    for x in range(0, 100, 10):
        color = win32gui.GetPixel(win32gui.GetDC(win32gui.GetActiveWindow()), x , y)
print(time.clock())

и

from ctypes import windll
import time
time.clock()
hdc = windll.user32.GetDC(0)
for y in range(0, 100, 10):
    for x in range(0, 100, 10):
        color = windll.gdi32.GetPixel(hdc, x, y)
print(time.clock())

Каждая из них занимает около 1,75 секунды. Мне нужна такая программа, чтобы она занимала менее 0,1 секунды. Что делает его таким медленным?

Я работаю с Python 3.x и Windows 7. Если ваше решение требует, я использую Python 2.x, пожалуйста, дайте мне ссылку на статью, показывающую, как установить Python 3.x и 2.x. Я посмотрел, но не смог понять, как это сделать.

Спасибо!

11
задан dln385 27 September 2010 в 00:40
поделиться