You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							54 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
	
	
							54 lines
						
					
					
						
							1.5 KiB
						
					
					
				| import sys
 | |
| import pygame  # pylint: disable=import-error
 | |
| import cv2  # pylint: disable=import-error
 | |
| 
 | |
| class Window():
 | |
|   def __init__(self, w, h, caption="window", double=False, halve=False):
 | |
|     self.w = w
 | |
|     self.h = h
 | |
|     pygame.display.init()
 | |
|     pygame.display.set_caption(caption)
 | |
|     self.double = double
 | |
|     self.halve = halve
 | |
|     if self.double:
 | |
|       self.screen = pygame.display.set_mode((w*2, h*2))
 | |
|     elif self.halve:
 | |
|       self.screen = pygame.display.set_mode((w//2, h//2))
 | |
|     else:
 | |
|       self.screen = pygame.display.set_mode((w, h))
 | |
| 
 | |
|   def draw(self, out):
 | |
|     pygame.event.pump()
 | |
|     if self.double:
 | |
|       out2 = cv2.resize(out, (self.w*2, self.h*2))
 | |
|       pygame.surfarray.blit_array(self.screen, out2.swapaxes(0, 1))
 | |
|     elif self.halve:
 | |
|       out2 = cv2.resize(out, (self.w//2, self.h//2))
 | |
|       pygame.surfarray.blit_array(self.screen, out2.swapaxes(0, 1))
 | |
|     else:
 | |
|       pygame.surfarray.blit_array(self.screen, out.swapaxes(0, 1))
 | |
|     pygame.display.flip()
 | |
| 
 | |
|   def getkey(self):
 | |
|     while 1:
 | |
|       event = pygame.event.wait()
 | |
|       if event.type == pygame.QUIT:
 | |
|         pygame.quit()
 | |
|         sys.exit()
 | |
|       if event.type == pygame.KEYDOWN:
 | |
|         return event.key
 | |
| 
 | |
|   def getclick(self):
 | |
|     for event in pygame.event.get():
 | |
|       if event.type == pygame.MOUSEBUTTONDOWN:
 | |
|         mx, my = pygame.mouse.get_pos()
 | |
|         return mx, my
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|   import numpy as np
 | |
|   win = Window(200, 200, double=True)
 | |
|   img = np.zeros((200, 200, 3), np.uint8)
 | |
|   while 1:
 | |
|     print("draw")
 | |
|     img += 1
 | |
|     win.draw(img)
 | |
| 
 |