資源簡介
基于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個文件信息
- 上一篇:VC++藥品信息管理系統源碼
- 下一篇:攝影測量 單向空間后方交會程序
評論
共有 條評論