2009-08-31 57 views
15
  • 是否有任何庫可用於在Python中編寫屏幕截圖。
  • 它可以製作成跨平臺嗎?
  • 是否有可能捕捉視頻? 如果可以實時進行?
  • 還是有可能直接 生成flash動畫?

回答

2

我不知道任何通用庫。我爲Windows做了這個,並在一個DLL中使用了一些codeproject.com代碼,這些代碼是從ctypes調用的。

視頻捕捉可能更難;我使用簡單的代碼項目方式非常快速地截取了截圖,並且可能有8fps。如果這還不夠,你可能需要一個針對你的用例進行了優化的庫;例如tightVNCCamStudio什麼的。 CamStudio可以導出Flash並且是OSS。

3

截屏可以用PIL thanks to the ImageGrab module

做爲了生成Flash影片,你可以看看ming。我不確定它是否具備此功能,但值得一看。

+5

PIL的巨大覆蓋,但不幸的是,ImageGrab模塊只能根據自己的文檔在Windows上使用。 – 2009-08-31 15:53:51

1

捕獲用戶屏幕視頻的一種方式(當然對於X11,不確定Windows)是使用gstreamer和ximagesrc plugin。有Python綁定可用here,雖然我以前沒有使用過gst-python。我知道Istanbul是一款開源的屏幕錄像應用,使用它 - 查看其源代碼可能對您有所幫助。

爲了捕獲靜態圖像,我在Linux上使用了PyGTK來捕獲用戶的屏幕。這應該也適用於Windows和Mac,雖然我還沒有嘗試過。這裏是一個小片段:

import gtk 
win = gtk.gdk.get_root_window() 
width, height = win.get_size() 
pb = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, width, height) 
pb = pb.get_from_drawable(window, window.get_colormap(), 0, 0, 0, 0, width, height) 
pb.save('path to file', 'png') 

See the GTK docs欲瞭解更多信息。

希望有幫助!

3

你也可以試試這個 可能是這個URL可以幫你。

它的卡斯特羅!請參見下面的示例代碼可能是有用的....

>>> from castro import Castro 
>>> c = Castro() 
>>> c.start() 
>>> # Do something awesome! 
>>> c.stop() 
2

我已經寫在wxPython的一個跨平臺的屏幕捕獲工具。 請參閱主題爲「WorkingWithImages」 @http://wiki.wxpython.org/WorkingWithImages#A_Flexible_Screen_Capture_App下的子主題「靈活屏幕捕捉應用程序」 下載「GeneralScreenShotWX.py」。

它正在處理MSW,OS X和一個Linux發行版,並且不需要額外的wxPython軟件包。

相關問題