资源简介

基于mfc打开dicom,显示姓名医院,并且可以调整窗宽窗位

资源截图

代码片段和文件信息

// Dicom.cpp: implementation of the CDicom class.
//
//////////////////////////////////////////////////////////////////////

#include “stdafx.h“
#include “MyDicom.h“
#include “Dicom.h“

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CDicom::CDicom()
{
m_pDic=NULL;
m_pOriginalData=NULL;
PatientName=NULL;
PatientID=NULL;
sex=NULL;
HospitalName=NULL;
HospistalAddress=NULL;
m_Width=0;
m_Height=0;
m_biBitCount=0;
m_biBitCount_heigh=0;
m_WinWid=150;
m_WinCen=1074;
// DicmRGB=NULL;
}

CDicom::~CDicom()
{
if (m_pDic!=NULL)
{
delete []m_pDic;
m_pDic=NULL;
}
if (m_pOriginalData!=NULL)
{
delete []m_pOriginalData;
m_pOriginalData=NULL;
}
if (PatientID!=NULL)
{
delete []PatientID;
PatientID=NULL;
}
if (PatientName!=NULL)
{
delete []PatientName;
PatientName=NULL;
}
}

void CDicom::LoadFile( const char *pFileName )
{
CFile File;
File.Open(pFileNameCFile::modeRead|CFile::shareDenyReadNULL);
DWORD Dicm;
File.Seek(128CFile::begin);
File.Read(&Dicm4);
if(Dicm!=‘MCID‘)
{
AfxMessageBox(“This is not a DICM file“MB_OKNULL);
return;
}
DWORD Tag;//标签查找
do 
{
File.Read(&Tag4);
File.Seek(-3CFile::current);
} while (Tag!=0x00800008);
File.Seek(3CFile::current);
File.Read(&Tag4);
DWORD LengthHospitalName=Tag;
HospitalName=new char[LengthHospitalName];
memset (HospitalName(unsigned char)0LengthHospitalName);
for (DWORD x=0;x<(LengthHospitalName);x++)
{
File.Read(&HospitalName[x]1);
}
do 
{
File.Read(&Tag4);
File.Seek(-3CFile::current);
} while (Tag!=0x00810008);
File.Seek(3CFile::current);
File.Read(&Tag4);
DWORD LengthHospitalAddress=Tag;
HospistalAddress=new char[LengthHospitalAddress];
memset (HospistalAddress(unsigned char)0LengthHospitalAddress);
for (x=0;x<(LengthHospitalAddress);x++)
{
File.Read(&HospistalAddress[x]1);
}
do 
{
File.Read(&Tag4);
File.Seek(-3CFile::current);
} while (Tag!=0x00100010);
File.Seek(3CFile::current);
File.Read(&Tag4);
DWORD LengthName=Tag;
PatientName=new char[LengthName];
memset (PatientName(unsigned char)0LengthName);
for (x=0;x<(LengthName);x++)
{
File.Read(&PatientName[x]1);
}
do 
{
File.Read(&Tag4);
File.Seek(-3CFile::current);
} while (Tag!=0x00200010);
File.Seek(3CFile::current);
File.Read(&Tag4);
DWORD LengthID=Tag;
PatientID=new char[LengthID];
memset (PatientID(unsigned char)0LengthID);
for (x=0;x<(LengthID);x++)
{
File.Read(&PatientID[x]1);
}
do 
{
File.Read(&Tag4);
File.Seek(-3CFile::current);
} while (Tag!=0x00400010);
File.Seek(3CFile::current);
File.Read(&Tag4);
DWORD LengthSex=Tag;
sex=new char[LengthSex];
m

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      17619  2010-12-13 12:44  MyDicom\Debug\Dicom.obj

     文件      19675  2010-12-08 18:43  MyDicom\Debug\MainFrm.obj

     文件     122928  2010-12-13 12:48  MyDicom\Debug\MyDicom.exe

     文件     589932  2010-12-13 12:48  MyDicom\Debug\MyDicom.ilk

     文件      22771  2010-12-13 12:45  MyDicom\Debug\MyDicom.obj

     文件    5507044  2010-12-08 18:43  MyDicom\Debug\MyDicom.pch

     文件     484352  2010-12-13 12:48  MyDicom\Debug\MyDicom.pdb

     文件       7672  2010-12-12 11:01  MyDicom\Debug\MyDicom.res

     文件      17429  2010-12-13 12:45  MyDicom\Debug\MyDicomDoc.obj

     文件      28672  2010-12-13 12:48  MyDicom\Debug\MyDicomView.obj

     文件     105410  2010-12-08 18:43  MyDicom\Debug\StdAfx.obj

     文件     222208  2010-12-13 12:48  MyDicom\Debug\vc60.idb

     文件     380928  2010-12-13 12:48  MyDicom\Debug\vc60.pdb

     文件       9989  2010-12-12 10:57  MyDicom\Debug\WinSet.obj

     文件       7147  2010-12-13 12:44  MyDicom\Dicom.cpp

     文件       1236  2010-12-13 12:44  MyDicom\Dicom.h

     文件       2508  2010-12-08 15:30  MyDicom\MainFrm.cpp

     文件       1581  2010-12-08 15:30  MyDicom\MainFrm.h

     文件      44428  2010-12-12 11:01  MyDicom\MyDicom.aps

     文件       2869  2010-12-13 12:48  MyDicom\MyDicom.clw

     文件       4227  2010-12-08 15:30  MyDicom\MyDicom.cpp

     文件       4819  2010-12-12 11:01  MyDicom\MyDicom.dsp

     文件        537  2010-12-08 15:30  MyDicom\MyDicom.dsw

     文件       1367  2010-12-08 15:30  MyDicom\MyDicom.h

     文件      74752  2010-12-13 12:48  MyDicom\MyDicom.ncb

     文件      51712  2010-12-13 12:48  MyDicom\MyDicom.opt

     文件       1177  2010-12-13 12:48  MyDicom\MyDicom.plg

     文件      12466  2010-12-12 11:01  MyDicom\MyDicom.rc

     文件       2123  2010-12-08 18:48  MyDicom\MyDicomDoc.cpp

     文件       1575  2010-12-08 18:56  MyDicom\MyDicomDoc.h

............此处省略18个文件信息

评论

共有 条评论