1. /******************************************************************************* 
  2.  
  3.     Simple VTK Example 
  4.  
  5.     A very simple VTK example - a raw 2D datafile is read 
  6.     it's magnified by a factor of 3 and then it's displayed on a window. 
  7.  
  8.     The pipeline: 
  9.     vtkImageReader->vtkImageMagnify->vtkRenderWindow 
  10.  
  11.     The p_w_picpath file is a raw file of 64 rows * 64 columns. The values are 
  12.     2 byte (short int) long.  
  13.     It's a greyscale dataset (NumberOfScalrComponents = 1
  14.  
  15. *******************************************************************************/ 
  16.  
  17. #include "vtkImageReader.h" 
  18. #include "vtkImageViewer.h" 
  19. #include "vtkImageMagnify.h" 
  20. #include "vtkRenderer.h" 
  21. #include "vtkRenderWindow.h" 
  22. #include "vtkRenderWindowInteractor.h" 
  23.  
  24. #define IMG_FILE "C:data.raw" 
  25.  
  26. int main (void) 
  27.   vtkImageReader *imgReader = vtkImageReader::New(); 
  28.     imgReader->SetFileDimensionality(2); 
  29.     imgReader->SetFileName(IMG_FILE); 
  30.     imgReader->SetNumberOfScalarComponents(1); 
  31.     imgReader->SetDataExtent(0,63, 0,63, 0,0); 
  32.  
  33.   vtkImageMagnify *imgMagnify = vtkImageMagnify::New(); 
  34.     imgMagnify->SetInputConnection(imgReader->GetOutputPort()); 
  35.     imgMagnify->SetMagnificationFactors(3, 3, 3); 
  36.  
  37.   vtkImageViewer* imgViewer = vtkImageViewer::New(); 
  38.     imgViewer->SetInputConnection(imgMagnify->GetOutputPort()); 
  39.  
  40.   vtkRenderWindow *renWindow = vtkRenderWindow::New(); 
  41.     renWindow->AddRenderer(imgViewer->GetRenderer()); 
  42.     renWindow->SetSize(64*3, 64*3); 
  43.  
  44.   vtkRenderWindowInteractor *renWindowInteractor = vtkRenderWindowInteractor::New(); 
  45.     renWindowInteractor->SetRenderWindow(renWindow); 
  46.     renWindowInteractor->Initialize(); 
  47.     renWindowInteractor->Start();  
  48.  
  49.   return 0; 

 

本文来源: