启用屏幕外渲染时,Mayavi视口会略有更改

2024-05-23 18:33:23 发布

您现在位置:Python中文网/ 问答频道 /正文

经过大量的努力,我让mayavi相机指向同一个方向作为一个刚性变换,我用来定位我的相机(不同于mayavi相机)在一个虚拟场景。然后我使用mayavi生成插入虚拟场景的截图,这样我就可以清楚地看到当相机移动时截图和场景是否正确对齐。由于我只需要mayavi场景的屏幕截图,因此我在屏幕外进行了渲染,通过设置来隐藏mayavi窗口:

mlab.options.offscreen = True

在创建mayavi图形之前(如here中所述)。你知道吗

乍一看,这似乎是工作,但后来我意识到,截图略有不同,就像如果视野的相机减少了一点wrt。不使用屏幕外渲染。我已经查询了视图设置,当我在屏幕外渲染时,似乎什么都没有改变。你知道吗

我在网上发现的唯一一个可能有点关联的问题是this问题,最后一个答案是窗口的边界似乎改变了屏幕外渲染的某些内容。我尝试了以下方法:

mlab.options.offscreen = True
self.fig = mlab.figure(bgcolor=(1, 1, 1), fgcolor=(0, 0, 0), size=(w, h))
scene = self.fig.scene
cam = scene.camera
cam.view_angle = self.fov
ren = scene.renderer
win = ren._get_vtk_window()
win.borders = False

尝试关闭这些边框,但是我在屏幕外渲染时得到的屏幕截图仍然与非屏幕外渲染不同。知道怎么回事吗?你知道吗


Tags: selftrue屏幕场景figscene方向win
1条回答
网友
1楼 · 发布于 2024-05-23 18:33:23

我发现了问题。它的工具栏,改变可视区域的大小,当我做屏幕外渲染时,没有工具栏(也没有窗口)。你知道吗

如果我像这样禁用工具栏:

scene = self.fig.scene
scene._tool_bar.setVisible(False)

然后我得到相同的屏幕截图与屏幕外渲染和没有。你知道吗

相关问题 更多 >