.NET .dcm转换成jpg,jpeg,网络文件下载到本地 您所在的位置:网站首页 dcm什么格式 .NET .dcm转换成jpg,jpeg,网络文件下载到本地

.NET .dcm转换成jpg,jpeg,网络文件下载到本地

#.NET .dcm转换成jpg,jpeg,网络文件下载到本地| 来源: 网络整理| 查看: 265

前景:医院医技科室采图为dcm格式,需要同步至病例系统,显示图片为jpg格式

第一步,把医技科室的dcm图片下载到同步数据服务器

第二步,在服务器把本地下载的dcm文件转换为jpg或jpeg格式的图片

代码里所用到的DLL在此处下载,免积分的。https://download.csdn.net/download/wybshyy/87874566

List list01 = ExamrecordImagesDAL.GetListByPage("", strWhere, ""); if (list01!=null) { int iTemp58 = 1; foreach (ExamrecordImagesModel model01 in list01)//循环采图的多张照片 { //先把dcm图片下载到本地 //http://localhost/Images/DX/20230606/009999/1.2.156.147522.44.410947.9238.5.1.20230606102830.dcm //string strTempIMG01 = DownloadPhotoFromUrl("http://192.168.1.2:81/Images"+ model01.ReferencedFile.Replace("\\","/") , model01.AccessionNumber+ model01.PatientID + iTemp58.ToString() + ".dcm");;//病例号+检查号+序号 //string strPATH = "http://192.168.1.2:81/Images/DX/20230606/009999/1.2.156.147522.44.410947.9238.5.1.20230606102830.dcm"; if (!System.IO.Directory.Exists(@"D:\ImageData\FangSheDataDCM\")) { System.IO.Directory.CreateDirectory(@"D:\ImageData\FangSheDataDCM\"); } string strPATH01 = "http://192.168.1.2:81/Images" + model01.ReferencedFile.Replace("\\", "/");//网络文件的源路径 string strPATH02 = @"D:\ImageData\FangSheDataDCM\" + model01.AccessionNumber + model01.PatientID + iTemp58.ToString() + ".dcm";//要保存到本地的路径 WebClient wc = new WebClient(); wc.Credentials = new System.Net.NetworkCredential(); wc.DownloadFile(strPATH01, strPATH02);//网络文件下载到本地 //DicomFile dicomFile = DicomFile.Open("path/to/input.dcm");/ D:\ImageData DicomFile dicomFile = DicomFile.Open(strPATH02);//打开刚下载的本地文件路径 var path = Path.GetDirectoryName(new Uri(Assembly.GetExecutingAssembly().CodeBase).LocalPath); Dicom.Imaging.Codec.DesktopTranscoderManager.LoadCodecs(path, "Dicom.Native*.dll");//注:WEB项目的BIN目录下一定要放Dicom.开头的几个DLL文件,放Dicom.Native64.dll文件就可以,不行就把DICOM开头的都放进BIN // 提取图像像素数据 DicomDataset pixelData = dicomFile.Dataset; // 将像素数据转换为System.Drawing.Bitmap对象 DicomImage dicomImage = new DicomImage(pixelData); System.Drawing.Bitmap bitmap = dicomImage.RenderImage().As(); // 保存为JPG文件 //保存在本地文件夹 string strReturnFilePath = "\\FangSheData\\" + System.DateTime.Now.Year.ToString() + "\\" + System.DateTime.Now.ToString("yyyyMMdd").Substring(4, 2) + "\\" + System.DateTime.Now.ToString("yyyyMMdd").Substring(6, 2) + "\\"; string strPath = @"D:\ImageData" + strReturnFilePath;//在本地硬盘的绝对路径。 if (!System.IO.Directory.Exists(strPath)) { System.IO.Directory.CreateDirectory(strPath); } bitmap.Save(strPath + model01.AccessionNumber + model01.PatientID + iTemp58.ToString() + ".jpeg", System.Drawing.Imaging.ImageFormat.Jpeg); iTemp58++; } }



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有