日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python編寫屏幕截圖程序方法

系統(tǒng) 1859 0

正在編寫的程序用的很多Windows下的操作,查了很多資料。看到剪切板的操作時(shí),想起以前想要做的一個(gè)小程序,當(dāng)時(shí)也沒做,現(xiàn)在正好順手寫完。

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

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

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

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

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

好在文檔中有一個(gè)函數(shù):GetPriorityClipboardFormat,可以返回剪切板中的格式,從一個(gè)迭代器中。于是手動(dòng)輸入找到了,y有時(shí)為6,win32con.CF_TIFF,還會(huì)為2。當(dāng)然這里直接用返回?cái)?shù)據(jù)就行了,不需要知道是什么。

主要用到:

OpenClipboard,CloseClipboard,GetPriorityClipboardFormat,GetClipboardData,這幾個(gè)函數(shù)文檔都有介紹,主要說說CloseClipboard,官方文檔上講,不要在剪切板里放置對(duì)象后調(diào)用CloseClipboard。

3 保存圖片:

到這里發(fā)現(xiàn)可以直接用PIL模塊,直接解決問題,上面太曲折T_T。

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

?

最后變成,監(jiān)聽按鍵,按下printscreen后,用pil截圖保存。T_T 感覺還不如設(shè)置快捷鍵,這樣應(yīng)該少占用內(nèi)存。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦?。?!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 禄劝| 乌苏市| 佛山市| 民和| 东乌珠穆沁旗| 交城县| 兴业县| 柘荣县| 陈巴尔虎旗| 慈利县| 敦化市| 子洲县| 万年县| 尼木县| 泰和县| 宜君县| 忻州市| 莒南县| 宣威市| 海兴县| 丰县| 梁山县| 周至县| 漾濞| 格尔木市| 岱山县| 孝义市| 绥芬河市| 东乌珠穆沁旗| 夏邑县| 建湖县| 克什克腾旗| 逊克县| 应用必备| 德昌县| 淮阳县| 葵青区| 民乐县| 广昌县| 若羌县| 南昌市|