メモ_Pythonで複数のモニター画面のスクリーンショットを一枚の画像として取得するコード

Pythonで複数のモニター画面のスクリーンショットを一枚の画像として取得する方法のメモです。Pillowという便利なライブラリがあり、それを使います。

以下がサンプルコードです。実行してから5秒後に撮影されます。

 

コード:

from PIL import ImageGrab
import time

# 5秒間待機
time.sleep(5)

# 全画面をスクリーンショットで取得(複数モニターもキャプチャされます)
screenshot = ImageGrab.grab(all_screens=True)

# 画像を保存
screenshot.save("screenshot.png")
結果:

以下のように大きな画面のスクショが取れました。これはモニターを上下二つにしてあるところをブラウザで跨ぐようにしているものをスクショした場合です。