用Python进行屏幕截图,只用两行代码搞定
一、計算機中如何進行屏幕截圖呢?
1、全屏截圖
按下鍵盤中的‘PRTSC’或者‘Print Screen’鍵,即可實現全屏截圖(不同鍵盤位置和名稱可能不同)。此時,并不能看到效果,只是將截圖保存在粘貼板中,我們打開Word或者其它windows自帶的畫圖板工具(以畫圖板工具為例)。我們打開畫圖板直接按下‘Ctrl’+ 'V'粘貼即可。然后你可以對該圖片執行其它操作了。
2、截取當前活動窗口
如何截取當前活動窗口的圖片呢?我們使用‘Print Screen’+ ‘Alt’組合鍵即可完成該操作。截圖快捷鍵如下所示。
二、使用Python進行屏幕截圖
我們需要用到Python的pillow模塊中的ImageGrab類的grab()方法即可實現,具體代碼如下:
img = ImageGrab.grab(bbox=(x, y, width, height))該方法中bbox參數中傳入需要截取圖片的區域即可。其中x、y表示截取圖片的左上角位置坐標,width、height參數中傳入截取圖片的寬度和高度。
如果是全屏幕截取,則x, y = 0, 0;width、height傳入屏幕分辨率中的寬度和高度即可。
屏幕分辨率
Python獲取屏幕分辨率并實現全屏截圖的方案:
1.使用pywin32模塊(需要安裝該模塊):
# 導入模塊import win32api, win32confrom PIL import ImageGrab# 獲取當前分辨率下的屏幕尺寸width = win32api.GetSystemMetrics(win32con.SM_CXSCREEN)height = win32api.GetSystemMetrics(win32con.SM_CYSCREEN)# 全屏幕截圖img = ImageGrab.grab(bbox=(0, 0, width, height))# 保存截圖img.save('full_screen_img.jpg')2.使用tkinter模塊
# 導入模塊import tkinterfrom PIL import ImageGrab# 獲取當前分辨率下的屏幕尺寸win = tkinter.Tk()width = win.winfo_screenwidth()height = win.winfo_screenheight()# 全屏幕截圖img = ImageGrab.grab(bbox=(0, 0, width, height))# 保存截圖img.save('full_screen_img.jpg')這樣,就完成了使用Python進行全屏截圖的操作。其實,已知需要截圖的坐標和尺寸,只用兩行代碼就可以搞定了。
img = ImageGrab.grab(bbox=(0, 0, width, height))img.save(filename)如果要截取一部分屏幕,那么,我們在設計軟件時只需要傳入起始坐標點位置(圖片左上角位置)和圖片的寬度、高度信息就可以實現截取指定區域位置的圖片內容了。
總結
以上是生活随笔為你收集整理的用Python进行屏幕截图,只用两行代码搞定的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Requests: 让 HTTP 服务人
- 下一篇: python中获取异常描述与else用法