• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
Office 指南

Office 指南

辦公室工作實用教學

  • Excel
  • Word
  • PowerPoint
  • Windows
  • PowerShell
  • R

Python 擷取螢幕畫面 pyscreenshot 模組使用教學與範例

介紹如何使用 Python 的 pyscreenshot 模組擷取螢幕畫面快照,適用於 Windows、Mac OS X 與 Linux 系統。

安裝 pyscreenshot 模組

pyscreenshot 是一個專門用來擷取螢幕畫面的 Python 模組,並將圖片轉為 PIL 或 Pillow 影像,可以做為 ImageGrab 模組的替代方案。

安裝 pyscreenshot 模組時,要連同 Pillow 模組一起安裝:

# 安裝 Pillow 與 pyscreenshot 模組
pip3 install Pillow pyscreenshot

擷取全螢幕畫面

使用 pyscreenshot 模組擷取全螢幕的畫面:

import pyscreenshot as ImageGrab

# 擷取全螢幕畫面
image = ImageGrab.grab()

# 儲存檔案
image.save("fullscreen.png")

擷取指定區域螢幕畫面

擷取指定區域的螢幕畫面:

import pyscreenshot as ImageGrab

# 擷取指定範圍畫面(影像大小為 500x500 像素)
im = ImageGrab.grab(
  bbox=(20,   # X1
        20,   # Y1
       520,   # X2
       520))  # Y2

# 儲存檔案
im.save("box.png")

擷取螢幕的區域是透過左上角的座標(X1 與 Y1)與右下角的座標(X2 與 Y2)來指定的,原點的位置位於整個螢幕的左上角,X 軸的方向是由上往下遞增,Y 軸則是由左至右遞增。

虛擬幀緩衝區畫面(無螢幕伺服器)

在 Linux 伺服器亦可使用 Xvfb 來建立虛擬幀緩衝區,再以 pyscreenshot 擷取應用程式的畫面:

from time import sleep
from easyprocess import EasyProcess
from pyvirtualdisplay import Display
import pyscreenshot as ImageGrab

with Display(size=(100, 60)) as disp:  # 開啟 Xvfb 虛擬幀緩衝區
    # 執行 xmessage 程式,顯示於虛擬幀緩衝區
    with EasyProcess(["xmessage", "hello"]):
        sleep(1)               # 等待畫面顯示
        img = ImageGrab.grab() # 擷取螢幕畫面

# 儲存檔案
img.save("xmessage.png")

除了使用 pyscreenshot 模組之外,類似功能的 Python 模組還有 mss 模組、wx 模組、ImageGrab 模組等。

Data to Fish、StackOverflow、GeeksforGeeks

分類:Python

讀者互動方式

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

主要資訊欄

搜尋

近期文章

  • hashcat 密碼雜湊快速破解工具使用教學與範例
  • macOS 使用 GPGTools 與 GPG Mail 對郵件加密、解密、簽章、驗證教學與範例
  • wrk:HTTP 網頁伺服器效能測試工具使用教學
  • C++ 語言使用 Crypto++ 實作 RSA 數位簽章教學與範例
  • C++ 語言使用 Crypto++ 實作 RSA-OAEP 搭配 SHA256 加密教學與範例
  • C++ 語言使用 Crypto++ 實作 AES 加密、解密、認證加密教學與範例
  • C++ 語言使用 Crypto++ 實作 MD5、SHA1、SHA2、BLAKE2 雜湊教學與範例
  • Ubuntu Linux 安裝、使用 Crypto++ 加密函式庫教學與範例

推薦網站

  • Udemy 線上教學課程
  • Coursera 線上教學課程

關注本站

  • 電子郵件
  • Facebook

公益

  • 家扶基金會
  • 台灣世界展望會
  • Yahoo 奇摩公益
  • igiving 公益網
  • 兒福聯盟

Copyright © 2021 · Office Guide