vtkImageData可以表示3维立体图像也可以表示2维平面图像
#include <vtkSmartPointer.h>
#include <vtkInformation.h>
#include <vtkImageData.h>
#include <vtkPNGWriter.h>
int main(void)
{
int size = 256;
vtkSmartPointer<vtkImageData> imageData = vtkSmartPointer<vtkImageData>::New();
vtkSmartPointer<vtkInformation> info = vtkSmartPointer<vtkInformation>::New();
imageData->SetDimensions(size, size, 1);
imageData->SetScalarType(VTK_UNSIGNED_CHAR, info);
imageData->SetNumberOfScalarComponents(1, info);//每个像素需要表示的组份 =1是指标量图
imageData->AllocateScalars(info);//很重要
unsigned char *ptr = (unsigned char*)imageData->GetScalarPointer();
for (int i = 0; i < size * size; i++)
{
*ptr++ = i % size