CreateBFont
VTKExamples/Python/VisualizationAlgorithms/CreateBFont
Other Languages
See (Cxx)
Code¶
CreateBFont.py
#!/usr/bin/env python """ """ import vtk def main(): colors = vtk.vtkNamedColors() fileName = get_program_parameters() # Now create the RenderWindow, Renderer and Interactor. # ren1 = vtk.vtkRenderer() renWin = vtk.vtkRenderWindow() renWin.AddRenderer(ren1) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) imageIn = vtk.vtkPNMReader() imageIn.SetFileName(fileName) gaussian = vtk.vtkImageGaussianSmooth() gaussian.SetStandardDeviations(2, 2) gaussian.SetDimensionality(2) gaussian.SetRadiusFactors(1, 1) gaussian.SetInputConnection(imageIn.GetOutputPort()) geometry = vtk.vtkImageDataGeometryFilter() geometry.SetInputConnection(gaussian.GetOutputPort()) aClipper = vtk.vtkClipPolyData() aClipper.SetInputConnection(geometry.GetOutputPort()) aClipper.SetValue(127.5) aClipper.GenerateClipScalarsOff() aClipper.InsideOutOn() aClipper.GetOutput().GetPointData().CopyScalarsOff() aClipper.Update() mapper = vtk.vtkPolyDataMapper() mapper.SetInputConnection(aClipper.GetOutputPort()) mapper.ScalarVisibilityOff() letter = vtk.vtkActor() letter.SetMapper(mapper) ren1.AddActor(letter) letter.GetProperty().SetDiffuseColor(colors.GetColor3d("LampBlack")) letter.GetProperty().SetRepresentationToWireframe() ren1.SetBackground(colors.GetColor3d("WhiteSmoke")) ren1.ResetCamera() ren1.GetActiveCamera().Dolly(1.2) ren1.ResetCameraClippingRange() renWin.SetSize(640, 480) # Render the image. # renWin.Render() iren.Start() def get_program_parameters(): import argparse description = 'A scanned image clipped with a scalar value.' epilogue = ''' A scanned image clipped with a scalar value of 1/2 its maximum intensity produces a mixture of quadrilaterals and triangles. ''' parser = argparse.ArgumentParser(description=description, epilog=epilogue, formatter_class=argparse.RawDescriptionHelpFormatter) parser.add_argument('filename', help='B.pgm.') args = parser.parse_args() return args.filename if __name__ == '__main__': main()