#include "vtkSmartPointer.h"
#include "vtkPNGReader.h"
#include "vtkImageViewer2.h"
#include "vtkJPEGWriter.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()
{
//读取png格式图像
vtkSmartPointer<vtkPNGReader> reader = vtkSmartPointer<vtkPNGReader>::New();
reader->SetFileName("test_3.png");
//显示读取的单幅png格式图像
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("test2.jpg");
jpegWriter->SetInputConnection(reader->GetOutputPort());
jpegWriter->Write();
readerWindowINteractor->Start();
return 0;
}