资源简介

可以实现dicom文件的打开,显示图像,以及可以读取dcm文件中的其他一些信息。

资源截图

代码片段和文件信息

// DIB.cpp: implementation of the CDIB class.
//
//////////////////////////////////////////////////////////////////////

#include “stdafx.h“
#include “EXE.h“
#include “DIB.h“
#include “math.h“

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

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

CDIB::CDIB()
{
m_pDib=NULL;
pdate =NULL;
m_pDibBits=NULL;
name =NULL;
m_Palette=NULL;
hospital=NULL;
add =NULL;
id =NULL;

}

CDIB::~CDIB()
{
if (m_pDib!=NULL)
{ delete []m_pDib;
}
if (pdate!= NULL)
{
delete []pdate;
}

if (m_pDibBits!=NULL) {
delete []m_pDibBits;
}

if (name!=NULL) delete []name;
if (hospital!=NULL) delete []hospital;
if (add!=NULL) delete []add;
if(id!=NULL)  delete []id;
  if (m_Palette!=NULL) delete []m_Palette;

}

bool CDIB::LoadFile( const char *FileName )
{
CFile File;
File.Open(FileNameCFile::modeRead|CFile::shareDenyRead);
DWORD dwsize= File.GetLength();
pdate= new unsigned char[dwsize];
File.Read(pdatedwsize);
if (pdate[128]!=‘D‘||pdate[129]!=‘I‘||pdate[130]!=‘C‘||pdate[131]!=‘M‘)
{
AfxMessageBox(“这不是一个的DICOM文件“);
delete []pdate;
return FALSE;
}


//姓名
int ij;
long int datesize =0;
for (i=128;i {
if (pdate[i]==0x10&&pdate[i+1]==0x00&&pdate[i+2]==0x10&&pdate[i+3]==0x00)
{
datesize= long int(pdate[i+4]+pdate[i+5]*pow(2561)+pdate[i+6]*pow(2562)+pdate[i+7]*pow(2563));
break;
}
}
name =new  char [datesize +1];
for (j=0;j {
name[j]=pdate[i+8+j];
}
name[j]=‘\0‘;
//出生日期
datesize =0;
for (i=128;i {
if (pdate[i]==0x10&&pdate[i+1]==0x00&&pdate[i+2]==0x30&&pdate[i+3]==0x00)
{
datesize= long int(pdate[i+4]+pdate[i+5]*pow(2561)+pdate[i+6]*pow(2562)+pdate[i+7]*pow(2563));
break;
}
}
birthday =new  char [datesize +1];
for (j=0;j {
birthday[j]=pdate[i+8+j];
}
birthday[j]=‘\0‘;


//病人编号
datesize =0;
for (i=128;i {
if (pdate[i]==0x10&&pdate[i+1]==0x00&&pdate[i+2]==0x20&&pdate[i+3]==0x00)
{
datesize= long int(pdate[i+4]+pdate[i+5]*pow(2561)+pdate[i+6]*pow(2562)+pdate[i+7]*pow(2563));
break;
}
}
id =new  char [datesize +1];
for (j=0;j {
id[j]=pdate[i+8+j];
}
id[j]=‘\0‘;






//医院
datesize =0;
for (i=128;i {
if (pdate[i]==0x08&&pdate[i+1]==0x00&&pdate[i+2]==0x80&&pdate[i+3]==0x00)
{
datesize= long int(pdate[i+4]+pdate[i+5]*pow(2561)+pdate[i+6]*pow(2562)+pdate[i+7]*pow(2563));
break;
}
}
hospital =new  char [datesize +1];
for (j=0;j {
hospital[j]=pdate[i+8+j];
}
hospital[j]=‘\0‘;

//医院地址
datesize =0;
for (i=128;i {
if (pdate

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

     文件       9741  2010-06-06 18:30  EXE\DIB.cpp

     文件       1059  2010-06-06 18:28  EXE\DIB.h

     文件      44080  2010-06-06 18:24  EXE\EXE.APS

     文件       2367  2010-06-06 18:30  EXE\EXE.clw

     文件       4155  2010-03-23 15:54  EXE\EXE.cpp

     文件       4610  2010-03-23 16:54  EXE\EXE.dsp

     文件        529  2010-03-23 15:54  EXE\EXE.dsw

     文件       1323  2010-03-23 15:54  EXE\EXE.h

     文件      91136  2010-06-06 18:30  EXE\EXE.ncb

     文件      49664  2010-06-06 18:30  EXE\EXE.opt

     文件       1133  2010-06-06 18:30  EXE\EXE.plg

     文件      11919  2010-06-06 18:24  EXE\EXE.rc

     文件       2056  2010-03-23 16:35  EXE\EXEDoc.cpp

     文件       1564  2010-06-06 01:32  EXE\EXEDoc.h

     文件       3129  2010-06-06 18:17  EXE\EXEView.cpp

     文件       1784  2010-05-23 11:03  EXE\EXEView.h

     文件       2504  2010-03-23 15:54  EXE\MainFrm.cpp

     文件       1581  2010-03-23 15:54  EXE\MainFrm.h

     文件       4239  2010-03-23 15:54  EXE\ReadMe.txt

     文件       1078  2010-03-23 15:54  EXE\res\EXE.ico

     文件        395  2010-03-23 15:54  EXE\res\EXE.rc2

     文件       1078  2010-03-23 15:54  EXE\res\EXEDoc.ico

     文件       1078  2010-03-23 15:54  EXE\res\Toolbar.bmp

     文件        731  2010-05-23 11:04  EXE\resource.h

     文件        205  2010-03-23 15:54  EXE\StdAfx.cpp

     文件       1054  2010-03-23 15:54  EXE\StdAfx.h

     目录          0  2010-03-28 10:45  EXE\res

     目录          0  2010-06-06 18:30  EXE

----------- ---------  ---------- -----  ----

               244192                    28

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

评论

共有 条评论