Python跨平台兼容的多屏幕截图

时间:2016-11-17 11:22:31

标签: python-2.7 pygame screenshot

使用的Python解释器:2.7(在OSX 10.11上遇到python3.5 py2app的问题

我正在使用python和pygame开发一个有趣的截图应用程序,但由于pygame似乎没有暗示支持多个屏幕,因此我陷入了1个屏幕限制。

我的问题是,现在我使用pyautogui截屏功能来捕捉整个屏幕,我在pygame全屏窗口中打开它,我可以修改图像等。

我想知道是否有办法以跨平台兼容的方式一次截取多个显示。现在我还没弄明白如何制作pyautogui截图除了默认显示之外的任何其他显示

1 个答案:

答案 0 :(得分:0)

您可能希望查看pyscreenshot库,它是一个纯粹的python库,应该是跨平台的,但是也存在多监视器问题。

另一种方法是调用你正在使用的特定操作系统的子进程,这意味着调用它的本机能力来通过命令进行截屏,这里有一个关于IOS的例子来自stackoverflow post概述我的意思:

from subprocess import call
call(["/usr/sbin/screencapture", "screen1.png", "screen2.png"])

来自@Mark Setchell

查看已经在pyautogui的roadmap上的网站,以便更轻松地处理多个屏幕,希望他们能解决这个问题。

还有一篇很长的帖子here概述了这个问题,因为它目前支持pyautogui的多显示器支持。所以不幸的是,它看起来像pygame和pyautogui不支持(容易)至少没有hackish类型实现的多显示器截图,如果你的显示器校准不是完全并排,因为它抵消了x和y价值可能是负面的。

最新还有另一个...一如既往..另一个python库专门用于python中的多监视器屏幕截图,名为desktopmagic。它可用here然而它没有做出跨平台的承诺,并且实际上只表示“在Windows上截屏”。所以为了你的目的,它可能不合适。

无论如何,无论如何希望这会有所帮助,或至少为您提供更多选择。希望你的项目能够解决。