我正在使用 PIL 抓取屏幕截图,但它只抓取了屏幕的一部分。
Here is a screen shot of my desktop
And this is what the program captures
如您所见,屏幕的侧面和底部有大量空间被切掉。我试图通过调整捕捉区域的大小来纠正这个问题,但这只会导致额外的区域被黑色填充
我认为库可以捕获的最大分辨率是有限制的,但我真的找不到任何这样说明的文档。
下面是我的代码
import ImageGrab
import os
import time
def screenGrab():
box = (0, 0, 1920, 1080)
im = ImageGrab.grab(box)
im.save(os.getcwd() + '\\screenshot_' + str(int(time.time())) + '.png', 'PNG')
def main():
screenGrab()
if __name__ == '__main__':
main()
有谁知道如何解决这个问题或知道为什么会这样?
最佳答案
有一个解决方法,无需修改操作系统设置。解决方案是使用以下方法使您的程序在 Windows 上具有 DPI 感知能力:
from ctypes import windll
user32 = windll.user32
user32.SetProcessDPIAware()
希望对你有帮助
关于Python 图像库无法抓取整个屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24370228/