在使用 ParaView 的 gui 时,我可以单击 File > Save Screenshot 来创建我工作的 .png 文件。通过这个过程,我可以指定我想要的任何分辨率。我想在 python 脚本中自动生成屏幕截图,但我没有看到指定分辨率的方法。这可能吗?我试过了
myRenderView.ViewSize = [1000, 1000]
这有某种效果,但不是想要的效果。
查看 the source code 的
SaveScreenshot()
我看到创建了一个 servermanager.ParaViewPipelineController()
对象,然后调用了它的 WriteImage()
方法。我在想,也许这个 WriteImage()
方法的解析参数不是包装器参数的一部分,但我找不到该方法的定义。我还没有尝试下载/编译实际的 ParaView 源代码。我只是在网上搜索。也许我应该直接使用 vtk 而不是尝试通过 ParaView 工作?
最佳答案
我认为 ViewSize 参数需要能够适应显示器的分辨率。
在你的脚本中试试这个:
renderView1.ViewSize = [400, 400]
SaveScreenshot('image.png', magnification=5, quality=100, view=renderView1)
这应该会产生您想要的图像大小。
关于python - 在 Paraview 的 Python 脚本中,我可以在执行 SaveScreenshot() 时指定分辨率吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31930448/