x, y = pyautogui.position() # получаем в x, y координаты мыши r, g, b = pyautogui.pixel(x, y) # получаем в r, g, b цвет ColorDot = Circle(Point(100, 100), 25) # создаем точку, отображающую цвет ColorDot.setFill(color_rgb(r, g, b)) # устанавливает ей заливку из ранее полученных цветов ColorDot.draw(win) # рисуем на форме win RGBtext = Entry(Point(win.getWidth() / 2, 25), 10) # создаем RGB вывод RGBtext.draw(win) # рисуем на форме win RGBstring = Entry(Point(win.getWidth() / 2, 45), 10) # создаем вывод цвета в web стиле RGBstring.draw(win) # рисуем на форме win Coordstring = Entry(Point(win.getWidth() / 2, 185), 10) # создаем отображение координат Coordstring.draw(win) # рисуем на форме win while True: # цикл перереисовки формы time.sleep(0.1) # задержка в 0.1 с, чтобы питон не сходил с ума x, y = pyautogui.position() # получаем в x, y координаты мыши r, g, b = pyautogui.pixel(x, y) # получаем в r, g, b цвет ColorDot.setFill(color_rgb(r, g, b)) # Обновляем цвет RGBtext.setText(pyautogui.pixel(x, y)) # Обновляем RGB RGBstring.setText(color_rgb(r, g, b)) # Обновляем web цвет Coordstring.setText('{} x {}'.format(x, y)) # Обновляем координаты if win.isClosed(): break win.flush() # Даем команду на перерисовку формы
class Application: def __init__(self, title="", sWidth=1280, sHeight=720, bgC=color_rgb(25, 25, 25)): self.window = GraphWin(title, sWidth, sHeight) self.window.setBackground(bgC) self.gameState = GameState.MENU self.menu = MainMenu(self.window) self.game = Game(self.window, False) self.dt = 0.0 #DeltaTime self.lastFrameTime = 0.0 self.setState(self.gameState) def quit(self): self.window.flush() self.window.close() def undraw(self): if self.gameState == GameState.MENU: self.menu.undraw() elif self.gameState == GameState.GAME: self.game.undraw() else: self.menu.undraw() self.game.undraw() def run(self): while not self.window.isClosed(): #Calculate deltatime currentTime = time.time() self.dt = currentTime - self.lastFrameTime self.lastFrameTime = currentTime self.update(self.dt) if not self.window.isClosed(): self.window.flush() #If the close key is pressed, close window, for debugging if input.kClose(): quit() def update(self, dt): state = GameState.NONE if self.gameState == GameState.MENU: state = self.menu.update(self.window) elif self.gameState == GameState.GAME: state = self.game.update(dt, self.window) if not state == GameState.NONE: if state == GameState.QUIT: quit() else: self.setState(state) def setState(self, state=GameState.NONE): if state == GameState.NONE: self.setState(GameState.MENU) else: if state == GameState.GAMEONLINE: #Failsafe since its not yet implemented print("Game Online Unavailable") print("Reverting to GameState.GAME") self.setState(GameState.GAME) else: self.undraw() if state == GameState.GAME: self.game.draw(self.window) elif state == GameState.MENU: self.menu.draw(self.window) self.gameState = state