/********************************************************************** 文件名: 5.1_CreateVTKImageData.cpp Copyright (c) 张晓东, 罗火灵. All rights reserved. 更多信息请访问: http://www.vtkchina.org (VTK中国) http://blog.csdn.net/www_doling_net (东灵工作室) **********************************************************************/ #include #include #include #include #include #include #include int main() { vtkSmartPointer img = vtkSmartPointer::New(); img->SetDimensions(16,16,1); img->SetScalarTypeToUnsignedChar(); img->SetNumberOfScalarComponents(1); img->AllocateScalars(); unsigned char *ptr = (unsigned char*)img->GetScalarPointer(); for(int i=0; i<16*16*1; i++) { *ptr ++ =i%256; } vtkSmartPointer redActor = vtkSmartPointer::New(); redActor->SetInput(img); double redViewport[4] = {0.0, 0.0, 1.0, 1.0}; vtkSmartPointer redRenderer = vtkSmartPointer::New(); redRenderer->SetViewport(redViewport); redRenderer->AddActor(redActor); redRenderer->ResetCamera(); redRenderer->SetBackground(1.0, 1.0, 1.0); vtkSmartPointer renderWindow = vtkSmartPointer::New(); renderWindow->AddRenderer(redRenderer); renderWindow->SetSize( 640, 480 ); renderWindow->Render(); renderWindow->SetWindowName("CreateVTKImageData"); vtkSmartPointer renderWindowInteractor = vtkSmartPointer::New(); vtkSmartPointer style = vtkSmartPointer::New(); renderWindowInteractor->SetInteractorStyle(style); renderWindowInteractor->SetRenderWindow(renderWindow); renderWindowInteractor->Initialize(); renderWindowInteractor->Start(); return EXIT_SUCCESS; }