轉載:Python實現螢幕截圖的兩種方式
Python實現螢幕截圖的兩種方式
更新時間:2018年02月05日 11:51:13 作者:weiyinfu 我要評論
這篇文章主要介紹了Python實現螢幕截圖的兩種方式及對這兩者的特點和用法進行詳細解釋,感興趣的朋友一起看看
- 使用windows API
- 使用PIL中的ImageGrab模組
下面對兩者的特點和用法進行詳細解釋。
一、Python呼叫windows API實現螢幕截圖
好處是
- 靈活
- 速度快
缺點是:
- 寫法繁瑣
- 不跨平臺
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
= win32gui.GetWindowDC(hwnd)
MoniterDev = win32api.EnumDisplayMonitors( None , None )
|
輸出結果為0.375秒,也就是說通過windows API每次截圖只需要0.0375s,真是快得一逼呀。
二、使用PIL的ImageGrab模組
1 2 3 4 5 6 7 8 9 10 11 |
|
輸出結果為4.015秒,也就是說擷取一次螢幕需要半秒鐘,更何況此處只截取了視窗的一部分矩形區域。所以ImageGrab模組能用是能用,就是有點慢。
三、使用Selenium截圖
使用Selenium只能進行WEB程式截圖
使用Selenium的各個瀏覽器需要制定驅動的位置,驅動下載地址參見Selenium 官網
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
|
列印時間為3.033s,速度介於windows API和PIL ImageGrab模組之間。
ps:下面看下python基礎===python實現截圖
python實現全屏截圖:
1 2 3 |
|
總結
以上所述是小編給大家介紹的Python實現螢幕截圖的兩種方式,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對指令碼之家網站的支援!