#include <vtkSmartPointer.h>
#include <vtkInformation.h>
#include <vtkImageData.h>
#include <vtkPNGWriter.h>
#include <vtkImageCanvasSource2D.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;
}
vtkSmartPointer<vtkPNGWriter> writer = vtkSmartPointer<vtkPNGWriter>::New();
writer->SetFileName("testImageData.png");
writer
vtkImageData用管线修改局部图像 vtkPNGWriter
最新推荐文章于 2023-12-07 11:22:30 发布