1. 程式人生 > >python學習筆記--緩解眼睛疲勞的小工具

python學習筆記--緩解眼睛疲勞的小工具

-a 學習 學習python ide AD 窗口 按鈕 echo city

  工作之余想著勞逸結合,然後就點開了‘大家來找茬’的休閑遊戲,結果發現這玩意兒並不怎麽休閑。

  原本雙眼在日常的‘BUG與調試’中就很疲勞了,休閑後結果更加疲勞了。

  本次功能需求為自動判斷兩圖差異,從而達到緩解眼睛疲勞功能,主要使用了pywin32,PIL,PyQt5,最終達到效果如下:

  技術分享圖片

  1.獲取窗口句柄並窗口截圖

  技術分享圖片
1 def flush_game():
2     handle = win32gui.FindWindow(None, 大家來找茬)
3     win32gui.ShowWindow(handle, win32con.SW_RESTORE)
4     win32gui.SetForegroundWindow(handle)
5 wrect = win32gui.GetWindowRect(handle) 6 img = ImageGrab.grab(wrect)
View Code

  2.分別截取兩圖,把其中一張取反色,然後融合兩張圖

  技術分享圖片
1 def contrast_img(img):
2     i1 = img.crop((93, 312, 474, 598))
3     i2 = img.crop((550, 312, 550 + 474 - 93, 598))
4     i3 = ImageChops.invert(i2)
5     Image.blend(i1, i3, 0.5).save(
1.jpg)
View Code

  3.創建窗口來展示融合後的圖,將1,2的功能綁定到‘刷新’按鈕。

  技術分享圖片
 1 class App(QWidget):
 2     def __init__(self):
 3         super().__init__()
 4         self.left = 541+900
 5         self.top = 449
 6         self.width = 550 + 474 - 93-550
 7         self.height = 598-312
 8         self.initUI()
 9 
10     def
initUI(self): 11 self.setGeometry(self.left, self.top, self.width, self.height) 12 self.setWindowFlags(Qt.WindowMinimizeButtonHint | 13 Qt.WindowCloseButtonHint | 14 Qt.WindowStaysOnTopHint) 15 self.setWindowOpacity(1 16 ) 17 l1 = QLabel(self) 18 png = QPixmap(1.jpg) 19 l1.setPixmap(png) 20 button = QPushButton("刷新", self) 21 # button.move(100, 70) 22 button.clicked.connect(self.on_click) 23 self.show() 24 25 @pyqtSlot() 26 def on_click(self): 27 flush_game() 28 self.initUI()
View Code

  博主主要從事JAVA開發,平時‘義務’加班很多,因此學習python的時間很少,本次主要為了學習pywin32,PIL,PyQt5,遊戲本是大家百忙中的一點娛樂,為了避免影響大家的心情,所以奉勸大家不要開掛!不要開掛!不要開掛!

python學習筆記--緩解眼睛疲勞的小工具