2016-11-17 88 views
0

的Python解釋器中使用:2.7(有Python的跨平臺兼容的多屏幕截圖

我使用Python和pygame的一個有趣的截圖應用工作OSX 10.11與python3.5 py2app麻煩,但我停留在1點屏幕的限制因爲pygame似乎並不隱含地支持多個屏幕

我的問題是,現在我使用pyautogui截圖功能捕獲整個屏幕,我打開它在pygame全屏窗口,我可以修改圖像等。

我想知道是否有一種方法來截圖多個顯示ys立即以跨平臺兼容的方式。現在我還沒有弄清楚如何使pyautogui截圖除了默認的屏幕以外的任何其他顯示屏

回答

0

您可能希望看看庫,它是一個純粹的python庫,應該是跨平臺的,但也有多監視器問題的問題。

另一種方法是調用您正在使用的特定操作系統的子進程,這意味着調用它的原生通過命令來截圖的能力,這裏是從這個stackoverflow post勾畫我的意思是在IOS爲例:

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

@Mark Setchell

看着網站上已經在pyautogui的roadmap,使處理多個屏幕更簡單,所以希望他們會解決這個問題。

還有一個很長的帖子here概述了這個問題,因爲它目前支持pyautogui的多顯示器。因此,不幸的是,pygame和pyautogui都不支持(簡單)支持多監視器屏幕截圖atleast沒有hackish類型的實現,如果你的顯示器校準不完全並排,因爲它抵消x和y值可能是負面的。

最近還有另一個...一如既往..另一個python庫專門用於python中的多監視器屏幕截圖,稱爲desktopmagic。它的可用here然而它沒有作出交叉平臺的承諾,事實上只說「在窗口上截圖」。所以出於您的目的,它可能不適合。

無論如何,希望這有助於無論如何或至少給你更多的選擇。希望你的項目能夠解決。

+0

僅僅爲3個平臺製作3個獨立的應用程序比嘗試跨平臺實施要快多快? – Nick

+0

我不確定這是否會更快,因爲你有3個獨立的代碼庫來維護,它會工作,你會完全控制。問題是它是否值得花費那麼多時間,或者是否在每個操作系統上已經有可用的本地使用shell命令的實用程序,並且在可能的情況下在沒有本機屏幕截圖命令的操作系統上使用這些操作系統的位置,然後可能編寫自己的 – D3181