擅长:python、mysql、java
<p>使用<a href="http://www.vtk.org/doc/release/5.0/html/a02216.html" rel="nofollow">vtkWindowToImageFilter</a>。当一个新的帧准备好时,你必须告诉电影编剧和图像过滤器。另外,一些电影编剧需要显式调用<code>end</code>来正确完成文件。下面的示例显示了整个生命周期。在</p>
<pre class="lang-py prettyprint-override"><code>#Setup filter
renWin = vtk.vtkRenderWindow()
imageFilter = vtk.vtkWindowToImageFilter()
imageFilter.SetInput(renWin)
imageFilter.SetInputBufferTypeToRGB()
imageFilter.ReadFrontBufferOff()
imageFilter.Update()
#Setup movie writer
moviewriter = vtk.vtkOggTheoraWriter()
moviewriter.SetInputConnection(windowToImageFilter.GetOutputPort())
moviewriter.SetFileName("movie.ogv")
moviewriter.Start()
renWin.start()
...
#Export a single frame
imageFilter.Modified()
moviewriter.Write()
...
#Finish movie
moviewriter.End()
</code></pre>
<p>输出帧的对联可以根据需要多次调用以完成电影。在</p>
<p>使用<code>SetInputBufferTypeToRGB</code>修复了仅在我的一个安装中出现的问题。使用<code>SetInputBufferTypeToRGBA</code>,我看到了条带和多个部分拷贝。使用<code>SetInputBufferTypeToRGB</code>它在我试过的每台机器上都能正常工作。在</p>
<p>该示例使用OggTheora编码器,因为默认情况下,它在许多平台上可用。在</p>