def saveToPNG(self, filename): """ saveToPNG(filename: str) -> filename or vtkUnsignedCharArray Save the current widget contents to an image file. If str==None, then it returns the vtkUnsignedCharArray containing the PNG image. Otherwise, the filename is returned. """ w2i = vtksnl.vtkWindowToImageFilter() w2i.ReadFrontBufferOff() w2i.SetInput(self.mRenWin) # Render twice to get a clean image on the back buffer self.mRenWin.Render() self.mRenWin.Render() w2i.Update() writer = vtksnl.vtkPNGWriter() writer.SetInputConnection(w2i.GetOutputPort()) if filename!=None: writer.SetFileName(filename) else: writer.WriteToMemoryOn() writer.Write() if filename: return filename else: return writer.GetResult()
def saveToPNG(self, filename): """ saveToPNG(filename: str) -> filename or vtkUnsignedCharArray Save the current widget contents to an image file. If str==None, then it returns the vtkUnsignedCharArray containing the PNG image. Otherwise, the filename is returned. """ w2i = vtksnl.vtkWindowToImageFilter() w2i.ReadFrontBufferOff() w2i.SetInput(self.mRenWin) # Render twice to get a clean image on the back buffer self.mRenWin.Render() self.mRenWin.Render() w2i.Update() writer = vtksnl.vtkPNGWriter() writer.SetInputConnection(w2i.GetOutputPort()) if filename != None: writer.SetFileName(filename) else: writer.WriteToMemoryOn() writer.Write() if filename: return filename else: return writer.GetResult()
def compute(self): r = self.getInputFromPort("renderer").vtkInstance window = vtksnl.vtkRenderWindow() w = self.forceGetInputFromPort("width", 512) h = self.forceGetInputFromPort("height", 512) window.OffScreenRenderingOn() window.SetSize(w, h) # r.ResetCamera() window.AddRenderer(r) window.Start() window.Render() win2image = vtksnl.vtkWindowToImageFilter() win2image.SetInput(window) win2image.Update() writer = vtksnl.vtkPNGWriter() writer.SetInput(win2image.GetOutput()) output = self.interpreter.filePool.create_file(suffix='.png') writer.SetFileName(output.name) writer.Write() window.Finalize() self.setResult("image", output)
def compute(self): r = self.get_input("renderer").vtkInstance window = vtksnl.vtkRenderWindow() w = self.force_get_input("width", 512) h = self.force_get_input("height", 512) window.OffScreenRenderingOn() window.SetSize(w, h) # r.ResetCamera() window.AddRenderer(r) window.Start() window.Render() win2image = vtksnl.vtkWindowToImageFilter() win2image.SetInput(window) win2image.Update() writer = vtksnl.vtkPNGWriter() writer.SetInput(win2image.GetOutput()) output = self.interpreter.filePool.create_file(suffix='.png') writer.SetFileName(output.name) writer.Write() window.Finalize() self.set_output("image", output)