Add picamera support
parent
597d9974b1
commit
3b1967db22
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
import os, sys, time, pygame
|
import os, sys, time, pygame
|
||||||
|
|
||||||
|
# import picamera
|
||||||
|
|
||||||
class Button:
|
class Button:
|
||||||
def __init__(self, size, topleft):
|
def __init__(self, size, topleft):
|
||||||
self.up_image = pygame.image.load('button-up.png').convert_alpha()
|
self.up_image = pygame.image.load('button-up.png').convert_alpha()
|
||||||
|
@ -101,6 +103,31 @@ class Photo:
|
||||||
|
|
||||||
return self
|
return self
|
||||||
|
|
||||||
|
|
||||||
|
class Camera:
|
||||||
|
def __init__(self, rect):
|
||||||
|
# self.camera = picamera.PiCamera()
|
||||||
|
# self.camera.led = False
|
||||||
|
self.rect = rect
|
||||||
|
self.img = pygame.transform.scale(pygame.image.load('tournesol.jpg'), (self.rect.width, self.rect.height))
|
||||||
|
|
||||||
|
def take(self, name):
|
||||||
|
# self.camera.capture(name + '.jpg')
|
||||||
|
print('Take picture!')
|
||||||
|
|
||||||
|
def stream(self):
|
||||||
|
return self.img
|
||||||
|
# stream = io.BytesIO()
|
||||||
|
# camera.capture(stream, use_video_port=True, format='rgb', rezise=(self.rect.width, self.rect.height))
|
||||||
|
# img = pygame.image.frombuffer(stream, (self.rect.width, self.rect.height), 'RGB')
|
||||||
|
# stream.close()
|
||||||
|
|
||||||
|
# return img
|
||||||
|
|
||||||
|
def draw_on(self, screen):
|
||||||
|
screen.blit(self.stream(), self.rect)
|
||||||
|
|
||||||
|
|
||||||
class Photoboite:
|
class Photoboite:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.screen = self.screen()
|
self.screen = self.screen()
|
||||||
|
@ -116,7 +143,8 @@ class Photoboite:
|
||||||
|
|
||||||
self.buttons.append(CaptureButton(button_size, topleft, self))
|
self.buttons.append(CaptureButton(button_size, topleft, self))
|
||||||
|
|
||||||
self.camera = pygame.Rect(20, 20, self.screen.get_width() - self.screen.get_width() / 4 - 60, self.screen.get_height() - 40)
|
camera_rect = pygame.Rect(20, 20, self.screen.get_width() - self.screen.get_width() / 4 - 60, self.screen.get_height() - 40)
|
||||||
|
self.camera = Camera(camera_rect)
|
||||||
|
|
||||||
self.font = pygame.font.Font(pygame.font.match_font('calibri'), 180)
|
self.font = pygame.font.Font(pygame.font.match_font('calibri'), 180)
|
||||||
|
|
||||||
|
@ -148,7 +176,7 @@ class Photoboite:
|
||||||
def draw(self):
|
def draw(self):
|
||||||
self.screen.fill(self.background)
|
self.screen.fill(self.background)
|
||||||
|
|
||||||
self.screen.fill((0,0,0), rect=self.camera)
|
self.camera.draw_on(self.screen)
|
||||||
|
|
||||||
for button in self.buttons:
|
for button in self.buttons:
|
||||||
button.draw_on(self.screen)
|
button.draw_on(self.screen)
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 133 KiB |
Loading…
Reference in New Issue