我正在尝试提高pyautogui的截图功能,因为我只需要屏幕的一小部分。region变量被认为是解决这个问题的方法。pyautogui.screenshot(region=(0,0,400,300))。然而,在做了一些测试后,我发现无论区域大小,拍摄屏幕截图都需要相同的时间(~250ms)。
此外,在将屏幕截图保存到文件pyautogui.screenshot('dummy.png', region=(0,0,400,300))时,区域变量似乎并不重要,而且整个屏幕都会被保存。有什么办法解释为什么它不能正常工作吗?
在OS X上运行此程序
发布于 2018-01-08 23:55:57
在macOS上,PyAutoGUI只调用screencapture实用程序。所以它是很慢的。你可以尝试一下MSS,它会很快,而且不需要其他工具/模块。这是一个您可以尝试的示例(从documentation复制):
import mss
import mss.tools
with mss.mss() as sct:
# The screen part to capture
region = {'top': 0, 'left': 0, 'width': 400, 'height': 300}
# Grab the data
img = sct.grab(region)
# Save to the picture file
mss.tools.to_png(img.rgb, img.size, output='dummy.png')https://stackoverflow.com/questions/48144210
复制相似问题