Quickly getting the color of some pixels on the screen in Python on Windows 7
Thanks to Margus' direction, I focused on getting the image before extracting the pixel information. Here's a workable solution using the Python Imaging Library (PIL), which requires Python 2.x.
import ImageGrab
import time
time.clock()
image = ImageGrab.grab()
for y in range(0, 100, 10):
for x in range(0, 100, 10):
color = image.getpixel((x, y))
print(time.clock())
I don't think it gets any simpler than that. This takes (on average) 0.1 seconds, which is a little slower than I'd like but fast enough.
As for having Python 3.x and 2.x both installed, I separated that into a new question. I'm still having some trouble with it, but it's generally working.
This is better than using getpixel
all the time and works faster.
import ImageGrab
px = ImageGrab.grab().load()
for y in range(0, 100, 10):
for x in range(0, 100, 10):
color = px[x, y]
Reference: Image.load