2013-10-16 90 views
0

我使用VPython從計算機模擬中可視化一些數據。 我想從VPython輸出中製作電影。因此我試圖從vpython輸出窗口製作截圖。我想以全屏模式捕捉輸出窗口。這樣我不需要裁剪窗框。我嘗試過ImageGrab.grab()(see here)和win32gui(see here),但這兩種方法都捕獲桌面而不是全屏窗口。如何從全屏(!)VPython窗口捕獲屏幕?

方法screenshot_get_windows_bytitlefrom here

windowtitle = 'sometitlename' 
newscene = display(fullscreen=True,title=windowtitle) 
newscene.cursor.visible=false 
newscene.select() 

b = box() 
rate(1) 
screenshot(_get_windows_bytitle(windowtitle)[0]) 

同樣的問題ImageGrab.grab。有什麼建議麼?

回答

0

我找不到任何解決方案,所以我通過手動裁剪窗口來使用解決方法。

disp = display(width=1000, height=1040) 
displayrect = (int(round(disp.x))+8, int(round(disp.y))+30, int(round(disp.width))-16, int(round(disp.height))-38) 
ImageGrab.grab(displayrect) 

我不會與真的很高興,因爲這是相當混亂的硬編碼窗口邊框寬度/高度(我將不會使用爲Win32的模塊)