有没有办法在特定窗口上使用ImageGrab? (太平线)

问题描述 投票:0回答:1

此代码应该使用 ImageGrab(PIL) 截取特定窗口的屏幕截图,但是屏幕截图不准确,我不知道为什么。

这是代码截取的屏幕截图(尺寸不正确,位置不正确)

这是代码

import pygetwindow as gw
import PIL.ImageGrab
from pynput.mouse import Button, Controller
mouse = Controller()
from pynput.keyboard import Key, Controller
keyboard = Controller()
chosenWindow = gw.getWindowsWithTitle('Discord')[0]
print(chosenWindow.topleft)
print(chosenWindow.bottomright)
Im = PIL.ImageGrab.grab(bbox=(chosenWindow.topleft[0],chosenWindow.topleft[1],chosenWindow.bottomright[0],chosenWindow.bottomright[1]))
Im.show()
python python-imaging-library pynput
1个回答
0
投票

@Nulano 的评论解决了我的问题。

只需进入 Windows 显示设置并将比例更改为 100%。它仍然不完全精确,但它具有一致的偏移量,您可以通过以下线程修复该偏移量:ImageGrab not抓取精确的 bbox 图像

© www.soinside.com 2019 - 2024. All rights reserved.