如何从全屏(!)VPython窗口捕获屏幕?

时间:2013-10-16 18:54:33

标签: python screenshot vpython

我正在使用VPython来显示计算机模拟中的一些数据。 我想用VPython输出制作一部电影。因此我尝试从vpython输出窗口制作屏幕截图。我想以全屏模式捕获输出窗口。这样我就不需要裁剪窗框了。我尝试了ImageGrab.grab()(see here)和win32gui(see here),但这两种方法都捕获了桌面而不是全屏窗口。

方法screenshot_get_windows_bytitle from 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相同的问题。有什么建议吗?

1 个答案:

答案 0 :(得分: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模块)