『QQ:1353814576』

fo-dicom .net core 如何获取图像bitmap


.net core 引用 fo-dicom.Drawing 如何获取图像bitmap

ImageManager.SetImplementation(WinFormsImageManager.Instance);
//读取DCM文件流
using (FileStream fs = new FileStream("d://Heart.dcm", FileMode.Open, FileAccess.Read))
{
           //解析dicom文件流
           Dicom.DicomFile dcm = Dicom.DicomFile.Open(fs);
           //读取dicom文件中的图像
           DicomImage dicomImage = new DicomImage(dcm.Dataset);
            
            for (int i = 0; i < dicomImage.NumberOfFrames; i++)
			{
                 var bmp = dicomImage.RenderImage(i).AsSharedBitmap();
                 MemoryStream ms = new MemoryStream();
                 bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                 byte[] arr = new byte[ms.Length];
                 ms.Position = 0;
                 ms.Read(arr, 0, (int)ms.Length);
                 ms.Close();
                 //转换成base64
                 string base64 = Convert.ToBase64String(arr);
                base64Arry.Add(base64);
}