AVI
VTKExamples/Java/Untested/Video/AVI
Description¶
This example demonstrates how to make an AVI video (AVI files can contain both audio and video data and allows synchronous audio-with-video playback) In this example, each frame of the video is a red rectangle moving across the frame incrementally.
Other Languages
See (Cxx)
Code¶
AVI.java
import vtk.vtkImageCanvasSource2D; import vtk.vtkNamedColors; import vtk.vtkNativeLibrary; import vtk.vtkAVIWriter; public class AVI { //----------------------------------------------------------------- // Load VTK library and print which library was not properly loaded static { if (!vtkNativeLibrary.LoadAllNativeLibraries()) { for (vtkNativeLibrary lib : vtkNativeLibrary.values()) { if (!lib.IsLoaded()) { System.out.println(lib.GetLibraryName() + " not loaded"); } } } vtkNativeLibrary.DisableOutputWindow(null); } // ---------------------------------------------------------------- public static void main(String args[]) { vtkNamedColors colors = new vtkNamedColors(); double bkgColor[] = new double[] {0, 0,0,1}; double boxColor[] = new double[] {255,0,0,1}; colors.SetColor("bkgColor", bkgColor); colors.SetColor("boxColor", boxColor); // Provide default values. String fileName = "Output.avi"; for(int i = 0; i < args.length; ++i) { switch (i) { case 0: fileName = args[i]; break; } } vtkImageCanvasSource2D Source = new vtkImageCanvasSource2D(); Source.SetScalarTypeToUnsignedChar(); Source.SetNumberOfScalarComponents(3); Source.SetExtent(0, 100, 0, 100, 0, 0); vtkAVIWriter Writer = new vtkAVIWriter(); Writer.SetInputConnection(Source.GetOutputPort()); Writer.SetFileName(fileName); Writer.Start(); for(int i = 0; i < 100; i++) { Source.SetDrawColor(bkgColor); Source.FillBox(0, 100, 0, 100); Source.SetDrawColor(boxColor); Source.FillBox(i, 20, 10, 20); Source.Update(); Writer.Write(); } Writer.End(); } }