MSVC6 MFC中如何使用dcmtk3.5.4
MSVC6 MFC中如何使用dcmtk3.5.4
0.准备工作
0.1 去http://www.dcmtk.org/dcmtk.php.en下载DCMTK 3.5.4 - source code and documentation
和一个支持库压缩文件,这个文件不能用页面上的这个DCMTK 3.5.4 - support libraries for
Windows,因为它是用/MT和/MTd编译的。也不能用页面上的这个DCMTK - user contributions,因
为那个只能用于vs2005,可用网友simeon提供的那个,是在vs6下用/MD和/MDd选项编译的,但是不
支持xml和openssl
0.2 更改dcmtk-3.5.4下的CMakeList.txt中的/MT和/MTd为/MD和/MDd,因为MFC必须使用
Multithreaded DLL
0.3 用CMake制作工程文件,这里只能将xml和openssl设为off,原因见上面。在VC中打开工程文件
dcmtk.dsw,并编译。编译完后再打开项目文件INSTALL.dsp,编译后会生成一个dcmtk-3.5.4-
win32-i386的目录,其中包括所有可用的lib和include头文件
1.选择project settings中的C/C++,设置下面两项:
1.1 Category: Code Generation的Use run-time library选择Debug Multithreaded DLL,在MFC
下为默认选项
1.2 Preprocessor的Additional include directories加上
D:\dcmtk-3.5.4-win32-i386\include
2.选择project settings中的link,选择Category为Input,设置下面两项:
2.1 在Additional library path中添加
D:\dcmtk-3.5.4-win32-i386\lib,D:\dcmtk-3.5.4-win32-i386-support\zlib-1.2.3\lib
其中D:\dcmtk-3.5.4-win32-i386-support为支持库如zlib的安装路径
2.2 在Object/library modules中添加
netapi32.lib wsock32.lib zlib_d.lib ofstd.lib dcmdata.lib
前两个是必须要加的,以支持winsock。
下面是一个例子,显示dicom文件中病人的名字:
#include "dcmtk\dcmdata\dcdeftag.h"
#include "dcmtk\dcmdata\dcfilefo.h"
void CDcmMFCView::OnTryDicom()
{
CString strName;
DcmFileFormat fileformat;
OFCondition status = fileformat.loadFile("IM000007.dcm");
if (status.good())
{
OFString patientsName;
if (fileformat.getDataset()->findAndGetOFString(DCM_PatientsName,
patientsName).good())
{
strName = patientsName.data();
AfxMessageBox(strName);
cout << "Patient's Name: " << patientsName << endl;
} else
cerr << "Error: cannot access Patient's Name!" << endl;
} else
cerr << "Error: cannot read DICOM file (" << status.text() << ")" << endl;
}
转自:http://blog.csdn.net/chenm91/archive/2007/05/08/1600194.aspx
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述