#include "vtkSmartPointer.h"
#include "vtkImageReader2Factory.h"
#include "vtkImageReader2.h"
#include "vtkJPEGWriter.h"
#include "vtkImageViewer2.h"
#include "vtkRenderWindowInteractor.h"
#include "vtkInteractorStyleTrackballCamera.h"
#include "vtkAutoInit.h"
VTK_MODULE_INIT(vtkRenderingOpenGL2); // VTK was built with vtkRenderingOpenGL2
VTK_MODULE_INIT(vtkInteractionStyle);
int main()
{
//读取不知格式图像
vtkSmartPointer<vtkImageReader2Factory> readerFactory = vtkSmartPointer<vtkImageReader2Factory>::New();
vtkImageReader2 *reader = readerFactory->CreateImageReader2("1111");
reader->SetFileName("1111");
reader->Update();
//显示读取的单幅不知格式图像
vtkSmartPointer<vtkImageViewer2> imgViewer = vtkSmartPointer<vtkImageViewer2>::New();
imgViewer->SetInputConnection(reader->GetOutputPort());
vtkSmartPointer<vtkRenderWindowInteractor> readerWindowINteractor = vtkSmartPointer<vtkRenderWindowInteractor>::New();
imgViewer->SetupInteractor(readerWindowINteractor);
imgViewer->Render();
//imgViewer->GetRenderer()->ResetCamera();
//保存为JPG图像
vtkSmartPointer<vtkJPEGWriter> jpegWriter = vtkSmartPointer<vtkJPEGWriter>::New();
jpegWriter->SetFileName("test3.jpg");
jpegWriter->SetInputConnection(reader->GetOutputPort());
jpegWriter->Write();
readerWindowINteractor->Start();
return 0;
}