资源简介
基于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++药品信息管理系统源码
- 下一篇:摄影测量 单向空间后方交会程序
相关资源
- 摄影测量 单向空间后方交会程序
- MFC课程设计报告-手把手教你写贪吃蛇
- 冒泡排序MFC实现
- 基于mfcc的说话人语音识别matlb
- n皇后动态可视化 简单 C++ MFC
- 一款基于MFC编写的通讯录程序
- MFC 与 HALCON混合编程
- VS2015 MFC 编写 常见的CRC校验,CRC4CRC
- MFC 打开图片 放大缩小 保存
- VC++MFC最好最全入门教程
- 五子棋,MFC,VC6.0
- VC++实现打印
- 用MFC 设计绘制各种数学图形程序 如
- 图像的K均值分类
- MFC网络数据包的捕获与分析
- Tower_Hanoi.rar
- 参考文献管理系统(PowerBuuilderMySQLM
- C++实现cs模式下文件传输
- [毕业分享] MFC实现数字图像处理软件
- 任务栏托盘图标程序/MFC窗口定位/类似
- MFC实现的排序算法可视化软件
- MFC写的音乐播放器完整版包括歌词显
- MFC皮肤库skin++
- MFC获取主机名,IP地址,MAC地址
- LL(1)文法的实现-mfc-编译原理学习
- windows程序设计大作业 斗地主 mfc
- MFC 在dialog上画坐标
- 源码:MFC按钮重绘-图书管理系统ADO
- VC++单文档视图打开bmp图片
- MFC图片预览与缩放
评论
共有 条评论