VTK保存渲染结果到图像文件的方法
原地址:
http://www.cadcaecam.com/forum/htm_data/57/0701/4025.html
经测试,下面代码可行,可是花了我近两天的功夫啊。
在这里要特别感谢一下vtk-maillist中的xabi网友,是他(她)提供了OffScreenRenderingOn的方法使得能够获得全部的渲染图像;
另外还要感谢 vtk@MITK QQ群中的Aaron Huang 网友,确认了 使用 vtkRenderLargeImage 的可行性。
最后感谢致力于 VTK 开源组织建设的各界人士~~
像得奖感言似的,实在有点兴奋,下面这点代码花了偶两天的时间哦
vtkRenderWindow* pRenderWindow = pWindow->getRenderWindow();
vtkRenderer* pRenderer = pRenderWindow->GetRenderers()->GetFirstRenderer();
pRenderWindow->OffScreenRenderingOn();
vtkRenderLargeImage* pRenderLargeImage = vtkRenderLargeImage::New();
pRenderLargeImage->SetInput(pRenderer);
pRenderLargeImage->SetMagnification(1);
vtkBMPWriter* pBMPWriter = vtkBMPWriter::New();
pBMPWriter->SetInputConnection(pRenderLargeImage->GetOutputPort());
pBMPWriter->SetFileName("C:\\ExportRenderWindow2BMP.bmp");
pWindow->getRenderWindow()->Render();
pRenderLargeImage->Modified();
pBMPWriter->Write();
pRenderLargeImage->Delete();
pRenderWindow->OffScreenRenderingOff();
-转自zx_sanjin