【发布时间】:2017-02-20 12:09:01
【问题描述】:
我一直在尝试使用 pyautogui 的屏幕截图功能,每当我截取屏幕截图时,它只会捕获屏幕的左上角。即使我手动输入更大的区域进行截图,它只会使其余部分变黑。
例子:
我能做些什么来解决这个问题?
制作此图片的代码:
import pyautogui
import time
import sys
im = pyautogui.screenshot('board.png',region=(0,0, 2000, 1000))
【问题讨论】:
-
你的代码对我来说看起来不错。该区域的大小看起来很奇怪,因为这不是常见的屏幕大小,所以也许这就是问题所在。尝试完全不使用
region参数(默认为全屏),看看会发生什么(或输入正确的显示器分辨率)。 -
@martineau 如果我省略了 region 参数,屏幕截图只会显示没有黑色区域的屏幕。我怀疑这与我的屏幕高 dpi 有关,但我不知道如何解决这个问题。如果它有帮助的话,pyautogui 使用的大多数 x,y 像素坐标似乎比我的实际屏幕坐标少 2.5 倍,但我只是想获取整个屏幕的屏幕截图。如果我给它屏幕的正确尺寸,它只会使我的大部分屏幕变黑。
-
可能是 PyAutoGUI(或它内部使用的 Pillow)的限制或错误。从前者的当前版本号(0.9.33)看来,它仍在开发中。您的显卡驱动程序也可能存在问题 - 请确保您安装了最新版本。如果一切都是最新的,我会提交一个错误报告(使用 PyAutoGUI)。
-
@martineau 这似乎是 Pillow 的问题。我会向他们提交一个问题,看看这是否可以解决。
-
我有同样的问题,在 windows 10 上使用 pyautogui 1.0
标签: python python-2.7 screenshot pyautogui