国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python編寫屏幕截圖程序方法

2020-02-23 06:26:21
字體:
來源:轉載
供稿:網友

正在編寫的程序用的很多Windows下的操作,查了很多資料??吹郊羟邪宓牟僮鲿r,想起以前想要做的一個小程序,當時也沒做,現在正好順手寫完。

功能:按printscreen鍵進行截圖的時候,數據保存在剪切板里面,很不方便。比如游戲的時候截一個瞬間的圖片,但你不能退出游戲保存圖片,不方便多次截圖。而我也不喜歡安裝各種軟件,所以準備寫這個工具。

思路:一個是自定義快捷鍵,截圖,保存??紤]到很可能各種沖突,取消。然后還是用按printscreen來截圖,然后從剪切板讀取圖片數據,保存。想法是,先監聽鍵盤按鍵,當printscreen按鍵時,讀取剪切板內容,最后保存圖片到指定位置。

1 監聽鍵盤按鍵:從網上找到資料,安裝pywin32,pyhook。鏈接:http://sourceforge.net/projects/pyhook/,http://sourceforge.net/projects/pywin32/。教程:http://sourceforge.net/apps/mediawiki/pyhook/index.php?title=PyHook_Tutorial。

2 讀取剪切板內容,也是需要pywin32.文檔在:[Pythonpath]/Lib/site-packages/PyWin32.chm,在線的:http://timgolden.me.uk/pywin32-docs/index.html

文檔中給出的幾種格式都不是圖片保存的數據,Google搜索“Standard Clipboard Formats”,鏈接:http://msdn.microsoft.com/en-us/library/windows/desktop/ff729168%28v=vs.85%29.aspx,所有的格式,主要就是1-17.

好在文檔中有一個函數:GetPriorityClipboardFormat,可以返回剪切板中的格式,從一個迭代器中。于是手動輸入找到了,y有時為6,win32con.CF_TIFF,還會為2。當然這里直接用返回數據就行了,不需要知道是什么。

主要用到:

OpenClipboard,CloseClipboard,GetPriorityClipboardFormat,GetClipboardData,這幾個函數文檔都有介紹,主要說說CloseClipboard,官方文檔上講,不要在剪切板里放置對象后調用CloseClipboard。

3 保存圖片:

到這里發現可以直接用PIL模塊,直接解決問題,上面太曲折T_T。

可以直接使用ImageGrab.grab() 進行抓屏,或者使用ImageGrab.grabclipboard()從剪切板獲取圖像。

 

最后變成,監聽按鍵,按下printscreen后,用pil截圖保存。T_T 感覺還不如設置快捷鍵,這樣應該少占用內存。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 庄河市| 咸丰县| 东乡族自治县| 长治县| 怀化市| 梧州市| 达日县| 从江县| 招远市| 南京市| 额敏县| 柳林县| 密云县| 锦州市| 九江县| 鄂托克旗| 城口县| 汉阴县| 凤台县| 抚宁县| 鹤山市| 化德县| 清镇市| 湘西| 神农架林区| 海林市| 萨迦县| 铁岭市| 敖汉旗| 昆山市| 合水县| 旅游| 虹口区| 东源县| 开封县| 舒兰市| 乡城县| 巴林左旗| 宿松县| 常山县| 麻栗坡县|