Voilà ce que j'ai trouvé sur Internet : http://snippets.dzone.com/posts/show/632
- some setup
from graphics import *
im = screenshot() # sample image
def foo(self, x,y): # Image.getpixel
pos = y*(self.size[0]*3+1) + 3*x+1 # each line has '\x00' prefix
return struct.unpack('3B', self.pixels[pos:pos+3])
- add getpixel to class Image
foo.im_class = Image
foo.im_func = foo
Image.getpixel = foo
def enable(im):
im.save('D:\\pixels.png', bpp=24, compression='no')
f = open('D:\\pixels.png', 'rb')
f.seek(8 +8+13+4)
chunk = []
while 1:
n = struct.unpack('>L', f.read(4))[0]
if n==0: break # 'IEND' chunk
f.read(4) # 'IDAT'
chunk.append(f.read(n))
f.read(4) # CRC
f.close()
data = zlib.decompress(''.join(chunk))
im.pixels = data # data will be retrived by im.getpixel(x,y)
getpixel.enable(im) # magically give Image.getpixel()
r, g, b = im.getpixel(0,0) # top left corner
print 'Red: %s, Green:%s, Blue:%s' % (r,g,b)
C'est juste le "from graphics import *" qui me chiffone. Existe t'il vraiment une librairie qui s'appelle "graphics" ?