【Python】スクリーンショットを撮る方法(Windows編)
Pythonを使えば、PC画面のスクリーンショットを簡単に撮ることができます。特に、pyautogui や mss などのライブラリを活用すると、画面全体だけでなく特定のウィンドウのみをキャプチャすることも可能です。本記事では、Pythonでスクリーンキャプチャを撮る方法を具体的なコードとともに解説します。アクティブウィンドウのみをキャプチャする方法も紹介するので、効率的な画面撮影をしたい方はぜひ参考にしてください。
画面全体のスクリーンショット
まずはライブラリをpip installコマンドでインストールします。
pip install pyautogui
以下が画面全体をスクリーンショットするプログラムです。
import pyautogui
screenshot = pyautogui.screenshot()
screenshot.save("screenshot.png") # スクリーンショットを保存
特定の領域をキャプチャする
画面の特定の場所を切り抜くようにキャプチャする方法です。
import pyautogui
# キャプチャしたい領域を指定 (左上 x, 左上 y, 幅, 高さ)
region = (100, 200, 500, 300)
# スクリーンショットを撮影
screenshot = pyautogui.screenshot(region=region)
# 画像を保存
screenshot.save("screenshot2.png")
アクティブウィンドウのスクリーンショット
アクティブウィンドウのみのスクリーンショットを撮ることも可能です。pygetwindowでアクティブウィンドウの位置とサイズを取得し、それをpyautogui でキャプチャします。
まずはライブラリのインストール。(pyautoguiはインストール済みを想定)
pip install pygetwindow
こちらがソースコードです。
import pyautogui
import pygetwindow as gw
# アクティブウィンドウを取得
win = gw.getActiveWindow()
if win:
# ウィンドウの位置とサイズを取得
left, top, width, height = win.left, win.top, win.width, win.height
# 指定範囲をスクリーンショット
screenshot = pyautogui.screenshot(region=(left, top, width, height))
screenshot.save("active_window.png")
else:
print("アクティブウィンドウが見つかりません")
スポンサーリンク