<div>Hello,</div><div> </div><div>I am having a problem of adding a PNG export capability to an application. Below is the functions that I use to export a PNG image.</div><div>The problem is that when running the applicaton remotly over Exceed X server from Linux, a new window is displayed during vtkPNGWriter's Write() method. That doesn't happen on Windows. </div>
<div> </div><div>Is there a way to prevent that? Obviously, that is a very undesirable side-effect - the window is as large as the requested image size and it stays for the duration of the image export. It then disappears.</div>
<div> </div><div>Any advice is greatly appreciated,</div><div>Jenya Burstein.</div><div><br> void exportVTKPlotImage(vtkRenderWindow& renderWindow) const<br> {<br> vtkSmartPointer<vtkRenderWindow> exportingRenderWindow = vtkSmartPointer<vtkRenderWindow>::New();</div>
<div> exportingRenderWindow->OffScreenRenderingOn();<br> exportingRenderWindow->SetSize(1024, 768);</div><div> vtkSmartPointer<vtkRenderer> renderer = renderWindow.GetRenderers()->GetFirstRenderer();<br>
exportingRenderWindow->AddRenderer(renderer);</div><div> vtkSmartPointer<vtkWindowToImageFilter> windowToImageFilter = vtkSmartPointer<vtkWindowToImageFilter>::New();<br> windowToImageFilter->SetInput(exportingRenderWindow);</div>
<div> vtkSmartPointer<vtkPNGWriter> pngWriter = vtkSmartPointer<vtkPNGWriter>::New();<br> pngWriter->SetInputConnection(windowToImageFilter->GetOutputPort());<br> pngWriter->SetFileName(file->absolutePath().c_str());</div>
<div> pngWriter->Write();<br> exportingRenderWindow->RemoveRenderer(renderer);<br> renderer->SetRenderWindow(&renderWindow);<br> }<br></div>