f4283b71e0807d935718d75f1d8b7199500f4931
[imago.git] / capture.py
1 #!/usr/bin/env python
2
3 import sys
4
5 import pygame
6 from pygame.locals import QUIT, KEYDOWN
7 import Image
8
9 from camera import Camera
10
11 class Screen:
12     def __init__(self):
13         pygame.init()
14         pygame.display.set_mode((640,480))
15         pygame.display.set_caption("Go image capture")
16         self._screen = pygame.display.get_surface()
17
18     def display_picture(self, im):
19         pg_img = pygame.image.frombuffer(im.tostring(), im.size, im.mode)
20         self._screen.blit(pg_img, (0,0))
21         pygame.display.flip()
22
23
24 def main():
25     
26     cam = Camera()
27     screen = Screen()
28
29     im_number = 0
30
31     while True:
32         event = pygame.event.wait()
33         if event.type == QUIT:
34             break
35         elif event.type == KEYDOWN:
36             im = cam.get_image()
37             screen.display_picture(im)
38             im.save("./captured/{0:0>3}.jpg".format(im_number), 'JPEG')
39             im_number += 1
40     
41 if __name__ == '__main__':
42     try:
43         main()
44     finally:
45         pygame.quit()