用 Python 製作截圖小工具
Python 程式語言允許我們執行各種任務,所有這些都是在簡單模組和短小精悍的程式碼的幫助下完成的。在 Python 的幫助下進行螢幕截圖就是這樣一項任務。
Python 為我們提供了許多模組,使我們能夠執行不同的任務。有多種方法可以使用 Python 及其庫進行螢幕截圖。
用 Pyautogui 模組進行截圖
第一種方法是使用 Python 提供的 pyauotgui 模組。你可以在終端視窗使用下面的命令來安裝這個模組。
pip install pyautogui
pyautogui 模組使用 screenshot() 函式,它有助於捕捉整個螢幕。之後,你可以使用 save() 函式來儲存影像,或者使用 imwrite() 函式與 NumPy 和 OpenCV 模組一起把影像寫到磁碟上。
詳細瞭解一下這兩種方法。
1.用 Pyautogui 模組中的 save() 函式
一旦你安裝了 pyautogui 模組,最簡單的截圖方法是使用 screenshot() 函式和 save() 函式。下面是一個使用這些函式的示例程式碼。
示例程式碼:
import pyautogui
demo_image = pyautogui.screenshot()
demo_image.save("demo_one.jpg")
首先,我們匯入 pyautogui 模組。然後,我們呼叫 screenshot() 函式,該函式捕獲了螢幕的影像。
此外,在最後一行程式碼中,我們使用 save() 函式和我們想儲存的影像的名稱。在這種情況下,捕獲的影像可以透過檔名 demo_one.jpg 找到。
下面是我們得到的輸出影像。注意,你會在 Jupyter 筆記本或 Python 的同一目錄下找到這個影像。
如果你想在捕捉影像時有一些延遲,你可以使用 time 模組的 sleep() 函式。
2.用 Numpy 和 Opencv 模組與 Pyautogui 一起使用
第二種方法涉及到與 pyautogui 一起使用另外兩個模組;它們是 NumPy 和 OpenCV 。在第一種方法中,我們使用 save() 函式來儲存影像。
但在這裡,我們將使用這兩個模組來拍攝和儲存螢幕截圖。
透過在終端寫下以下命令來安裝 Numpy 和 OpenCV 。
pip install numpy
pip install opencv-python
下面是所有模組安裝後必須使用的程式碼。
示例程式碼:
#import the required modules
import numpy as x
import cv2
import pyautogui
#use pyautogui to take screenshot
demo_image = pyautogui.screenshot()
#use opencv and numpy to manipulate image
demo_image = cv2.cvtColor(x.array(demo_image),cv2.COLOR_RGB2BGR)
#save the image using opencv
cv2.imwrite("demo_two.png", demo_image)
我們首先匯入了所需的模組,然後使用 screenshot() 函式來捕獲螢幕。然後,我們將影像轉換為 NumPy 陣列,並將顏色的順序從 RGB 改為 BGR。
這樣做是因為當 OpenCV 讀取影像時,它要求顏色的順序是 BGR 而不是預設的 RGB。最後,我們使用 imwrite() 函式將影像寫到磁碟上。
這就是輸出影像的樣子。
輸出:
以上是關於如何在 Python 中使用 pyautogui 模組進行螢幕截圖的全部內容。現在,我們要進入下一個方法來做同樣的事情。
要了解更多關於 pyautogui 模組的資訊,請參考這個文件。
用 Pillow 模組
使用 pyautogui 模組,預設情況下可以捕獲整個螢幕。然而,如果我們必須捕捉螢幕的一部分,我們可以使用 Pillow 模組。
這個模組使用另一個叫做 ImageGrab 的子模組,讓我們設定我們想要捕捉的螢幕區域的座標。我們使用 grab() 函式來指定這些座標。
下面是這種方法的程式碼。
示例程式碼:
#Python小白學習交流群:711312441
from PIL import ImageGrab
ss_coordinates = (200, 200, 600, 600)
demo_image = ImageGrab.grab(ss_coordinates)
demo_image.save("demo_three.jpg")
我們首先匯入了 Pillow 模組和 ImageGrab 子模組。然後,我們為我們想要捕捉的螢幕設定了一些座標。
此外,我們使用 grab() 函式,並將這些座標傳遞給該函式。然後,使用 save() 方法儲存捕獲的影像。
這就是我們得到的螢幕截圖。
輸出:
從本質上講,這就是在 Python 中拍攝螢幕截圖的方法,即透過設定座標。參考該文件以瞭解更多關於 Pillow 模組的資訊。
用 Pyscreenshot 模組
Python 提供了這個叫做 pyscreenshot 的模組,其唯一的任務就是進行截圖。要安裝這個模組,在終端使用以下命令。
pip install pyscreenshot
一旦該模組安裝完畢,使用這段程式碼對整個螢幕進行截圖。
示例程式碼:
import pyscreenshot
image_demo = pyscreenshot.grab()
image_demo.save("demo_four.png")
我們首先匯入了 pyscreenshot 模組,然後使用 grab() 函式來捕獲螢幕。最後,我們使用 save() 函式來儲存影像。
下面是我們得到的影像的輸出。
輸出:
我們還可以使用這個模組來捕捉螢幕的一部分。我們只需將所需的座標作為一個元組傳遞給 grab() 函式。
下面是對螢幕特定部分進行截圖的程式碼。
示例程式碼:
import pyscreenshot
image_demo = pyscreenshot.grab(bbox=(100, 100, 500, 500))
image_demo.save("demo_five.png")
請注意,我們在程式碼的第二行中傳遞了我們想要捕捉的螢幕部分的座標。其餘的程式碼與前面的程式碼工作相同。
下面是捕捉到的影像。
輸出:
注意這個模組,pyscreenshot ,已經不怎麼用了,你最好選擇我們討論的前兩種在 Python 中拍攝螢幕的方法。這就是關於如何在 Python 中進行螢幕截圖的全部內容。
總結
這篇文章討論了我們如何使用 Python 程式語言進行截圖。我們看到了如何使用 pyautogui 模組與 save() 函式和其他模組,如 NumPy 和 OpenCV 。
我們還學習瞭如何使用 Python 的 Pillow 模組來捕捉螢幕的一部分。此外,我們還看到了如何使用 pyscreenshot 模組來捕獲整個螢幕和它的一部分。
更多內容可以學習《測試工程師 Python 工具開發實戰》書籍、《大話效能測試 JMeter 實戰》書籍
相關文章
- 鬥圖?教你用Python製作表情包Python
- 2020微信對話截圖生成器,各種截圖一鍵製作!
- Python網頁截圖/螢幕截圖/截長圖如何實現?Python網頁
- python 截圖,合成 pdfPython
- 開源一個製作小工具的小工具,順便求個 star
- GIF動圖怎麼製作?GIF圖片製作
- cad截圖快捷鍵命令 cad圖紙截圖用什麼命令
- AndroidStudio製作歡迎介面與應用圖示Android
- python+selenium 截圖儲存Python
- 用Python製作圖片驗證碼,這三行程式碼完事兒Python行程
- 用PYTHON初次編寫小工具心得Python
- Python + SeaTable | 用 Python 從維基百科抓取冬奧會城市資訊並製作地圖Python地圖
- 流程圖製作: BPMN流程圖線上繪製流程圖
- 工作流程圖怎麼製作,有哪些製作流程圖的工具?流程圖
- 如何製作網點地圖,網點分佈圖怎麼製作地圖
- Python 用 OpenCV 繪製基本圖形系列(總)PythonOpenCV
- 馬賽克圖片製作軟體:TurboMosaic啟用AI
- Fedora 19 Alpha 試用+截圖
- python 三種方式實現截圖Python
- 怎麼製作地圖分佈圖,要製作電子地圖怎麼做地圖
- 如何製作掩碼圖
- svg製作小圖示SVG
- python小工具Python
- mac下免費的動態截圖製圖工具:kapMac
- 【Python 開發】第三篇:python 實用小工具Python
- 圖形圖表製作軟體:DataGraph for Mac v4.3啟用版Mac
- 【2.3.3被拒】蘋果iOS上架沒有真機提供ps製作螢幕截圖蘋果iOS
- Snagit2024 螢幕錄製與截圖軟體mac/win啟用版GitMac
- [譯] 為你的 React 應用製作 SVG 圖示庫ReactSVG
- 直播平臺製作,利用python批量讀取儲存圖片Python
- 用Python的random模組繪製折線圖Pythonrandom
- 用Python抓取漫畫並製作mobi格式電子書Python
- Python 潮流週刊#51:用 Python 繪製美觀的圖表Python
- python如何爬取動漫截圖網Python
- Python 指令碼自動視窗截圖Python指令碼
- MacOS專業截圖指南——截圖技巧和截圖工具分享Mac
- PS製作圓角圖片
- SharpResize 縮圖製作軟體