typedef unsigned char PixelType; const unsigned int Dimension = 3; typedef itk::Image< PixelType, Dimension > InputImageType; typedef itk::ImageFileReader< InputImageType > ReaderType; ReaderType::Pointer reader = ReaderType::New(); reader->SetFileName("E:\\0.dcm"); reader->Update(); InputImageType::SizeType size; size[0] = 512; size[1] = 512; InputImageType::IndexType start; start[0] = 0; start[1] = 0; InputImageType::RegionType region; region.SetSize(size); region.SetIndex(start); InputImageType::Pointer image = reader->GetOutput(); image->SetRegions(region); image->Allocate(); PixelType* pixelData = image->GetBufferPointer(); LPBITMAP lpBitmap = new BITMAP; lpBitmap->bmType = 0; lpBitmap->bmWidth = 512; lpBitmap->bmHeight = 512; lpBitmap->bmWidthBytes = 2048; lpBitmap->bmPlanes = 1; lpBitmap->bmBitsPixel = 32; lpBitmap->bmBits = pixelData; CBitmap mybitmap4; mybitmap4.CreateBitmapIndirect(lpBitmap); PictureControl->SetBitmap(mybitmap4.operator HBITMAP());