目次
PyAutoGUI
前回は、SciPyやPandasを使ってグラフの歪度(左右非対称具合)と尖度(尖り具合)を取得する方法を紹介を紹介しました。
【SciPy, Pandas】グラフの歪度(左右の非対称具合)と尖度(尖り具合)を取得する方法[Python]
SciPy, Pandas 前回、Pythonのmatplotlibで、xlim、ylim、set_xlim、set_ylimを使ってグラフエリアの最大値、最小値を取得する方法を紹介しました。 今回はSciPyやPanda…
今回はPyAutoGUIを使って自動でスクリーンショットを撮影する方法を紹介します。
それでは始めていきましょう。
スクリーンショットを撮影する方法
PyAutoGUIでスクリーンショットを撮影するには、1.撮影する、2.保存するという2つのステップが必要です。
撮影するには「pyautogui」をインポートし、「pyautogui.screenshot()」で撮影します。
そして撮影したスクリーンショットを「.save(“ファイルパス”)」で保存します。
import pyautogui
img = pyautogui.screenshot()
img.save("pyautogui2-1.png")
実行結果
(スクリーンショットが保存されるだけなので今回は割愛します)
ちなみに「pyautogui.screenshot(“ファイルパス”)」でスクリーンショットを撮影し、保存してくれると解説しているサイトもあったのですが、私の環境では保存されませんでした。
スクリーンショットのサイズを指定する方法
スクリーンショットのサイズを指定するには「pyautogui.screenshot(region(左上のX座標, 左上のY座標, 幅, 高さ))」として指定します。
import pyautogui
img = pyautogui.screenshot(region=(300, 200, 700, 400))
img.save("pyautogui2-3.png")
実行結果
(スクリーンショットが保存されるだけなので今回は割愛します)
自動でスクリーンショットを撮影する方法
最後に自動でスクリーンショットを撮影する方法ですが、これはwhile文などの繰り返しと、timeモジュールを組み合わせます。
例えばこんな感じです。
import pyautogui
import time
n = 0
while n < 5:
img = pyautogui.screenshot(region=(300, 200, 700, 400))
img.save(f"pyautogui2-3-{n}.png")
n = n + 1
time.sleep(1)
実行結果
(スクリーンショットが保存されるだけなので今回は割愛します)
これで1秒ごとに5枚のスクリーンショットが保存されます。
これを基本として例えば1分ごとに60枚撮影すれば60分間分のスクリーンショットが撮影できることになります。
他にも画面の変化率を計算させ、ある一定以上になったら撮影するなどトリガーをつけたりもできそうです。
次回はmatplotlibのhist2dを使って2つのヒストグラムを2次元カラープロットで表示する方法を紹介します。
ではでは今回はこんな感じで。
コメント