我正在使用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
相同的问题。有什么建议吗?
答案 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模块)