在用于Paraview的Python脚本中,我可以在执行SaveScreenshot()时指定分辨率吗?

时间:2015-08-10 22:50:49

标签: python vtk paraview

在使用ParaView的gui时,我可以点击文件>保存屏幕截图以创建我的工作的.png文件。通过这个程序,我可以指定我想要的任何分辨率。我想在python脚本中自动生成屏幕截图,但我没有看到指定分辨率的方法。这可能吗?我试过了

myRenderView.ViewSize = [1000, 1000]

具有某种效果,但不是所期望的效果。

查看SaveScreenshot() servermanager.ParaViewPipelineController()我看到创建了一个WriteImage()对象,然后调用了它的WriteImage()方法。我在想,也许这个@Qualifier @Rentention(RUNTIME) @Target(FIELD, TYPE, METHOD, PARAMETER) public @interface Environment { EnvironmentType environment() default EnvironmentType.PRODUCTION; public enum EnvironmentType { DEVELOPMENT, TEST, ACCEPTANCE, PRODUCTION; } } 方法的解析参数不是包装器参数的一部分,但我找不到该方法的定义。我没有尝试下载/编译实际的ParaView源代码。我只是在网上搜索。

也许我应该直接使用vtk而不是尝试使用ParaView?

2 个答案:

答案 0 :(得分:3)

我认为ViewSize参数需要能够符合显示器的分辨率。

在您的脚本中尝试此操作:

renderView1.ViewSize = [400, 400]
SaveScreenshot('image.png', magnification=5, quality=100, view=renderView1)

这应该会产生您想要的图像尺寸。

答案 1 :(得分:1)

您必须从所需分辨率中减去[16,38],然后设置ViewSize参数。要获得1000 x 1000像素的图像,请使用:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<select class="wordpress">
  <option value="1" class="wordpress">Hello</option>
  <option value="2" class="joomla">2222</option>
  <option value="3" class="wordpress">33333</option>
  <option value="4" class="joomla">44444</option>
</select>

要获得2000 x 2000像素的图像,请使用:

myRenderView.ViewSize = [984, 962]
SaveScreenshot('image.png', magnification=1, quality=100, view=myRenderView)

或者,您可以像这样更改放大率

myRenderView.ViewSize = [1984, 1962]
SaveScreenshot('image.png', magnification=1, quality=100, view=myRenderView)

获得2000 x 2000像素的图像。此选项将更改方向轴的大小。