回答編集履歴
1
コメントを受けて追記
test
CHANGED
@@ -37,3 +37,33 @@
|
|
37
37
|
cv2.destroyAllWindows()
|
38
38
|
|
39
39
|
```
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
## 追記:マルチモニターの場合
|
44
|
+
|
45
|
+
`ImageGrab.grab()`の引数に `all_screens=True,`を入れると全てのスクリーンを一度に取得できます。Falseの場合は現在フォーカスがあるモニタ側の取得で、こちらがデフォルト動作。
|
46
|
+
|
47
|
+
そこから必要な部分を手動でクリッピングする必要があります。
|
48
|
+
|
49
|
+
全体取得してからクリッピングしても良いですし、`bbox = (top, left, rigth, bottom)` オプションでクリップする座標を指定できます。
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
```python
|
54
|
+
|
55
|
+
# 例:横並びHullHD2台のモニタがあったとして、右側のモニタだけをクリップする場合
|
56
|
+
|
57
|
+
img = ImageGrab.grab( all_screens=True, bbox=(1920,0,3840,1080) )
|
58
|
+
|
59
|
+
```
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
モニタ番号等の指定は不可能です。全体取得した画像から自力で判断してください。
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
その他のオプションは公式リファレンスを参照:
|
68
|
+
|
69
|
+
[https://pillow.readthedocs.io/en/stable/reference/ImageGrab.html](https://pillow.readthedocs.io/en/stable/reference/ImageGrab.html)
|