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)