資源簡(jiǎn)介
在MFC下用C++實(shí)現(xiàn)DICOM圖像的打開,調(diào)整窗位、窗寬,DICOM圖像.bmp格式保存的功能。該資源包含工程文件,注釋較詳細(xì),各項(xiàng)功能均通過測(cè)試。

代碼片段和文件信息
//?BitMap.cpp:?implementation?of?the?CBitMap?class.
//
//////////////////////////////////////////////////////////////////////
#include?“stdafx.h“
#include?“MyDICOM.h“
#include?“BitMap.h“
#ifdef?_DEBUG
#undef?THIS_FILE
static?char?THIS_FILE[]=__FILE__;
#define?new?DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////
CBitMap::CBitMap()
{
m_dwBMPSize=0;
m_dwDibSize=0;
m_lSizeOfPixel=0;
m_nPaltteEntries=256;
m_pBIH=NULL;
m_pCurrentDib=NULL;
m_pDib=NULL;
m_pTopOfDib=NULL;
m_pDibPaltte=NULL;
m_lWidth=0;
m_lHeight=0;
}
CBitMap::~CBitMap()
{
m_pBIH=NULL;
if?(m_pCurrentDib!=NULL&&m_pCurrentDib!=m_pDib)
{
delete?[]m_pCurrentDib;
m_pCurrentDib=NULL;
}
m_pDib=NULL;
m_pCurrentDib=NULL;
if?(!m_pTopOfDib==NULL)
{
delete?[]m_pTopOfDib;
m_pTopOfDib=NULL;
}
m_pDibPaltte=NULL;
}
BITMAPINFOHEADER*?CBitMap::GetpBIH()
{
return?m_pBIH;
}
int?CBitMap::GetPaltteEntries()
{
return?m_nPaltteEntries;
}
void?CBitMap::InitialBIH(WORD?biBitCount?DWORD?biClrImportant?DWORD?biClrUsed?DWORD?biCompression?LONG?biHeight?LONG?biWidth?WORD?biPlanes?DWORD?biSize?DWORD?biSizeImage?LONG?biXPelsPerMeter?LONG?biYPelsPerMeter)
{
//? double?odd=biHeight-(int)biHeight/4;
//? if(odd!=0)
//? {
//? biHeight=((int)biHeight/4+1)*4;
//? }
m_pBIH->biBitCount=biBitCount;
m_pBIH->biClrImportant=biClrImportant;
m_pBIH->biClrUsed=biClrUsed;
m_pBIH->biCompression=biCompression;
m_pBIH->biHeight=biHeight;
m_pBIH->biWidth=biWidth;
m_pBIH->biPlanes=biPlanes;
m_pBIH->biSize=biSize;
m_pBIH->biSizeImage=biSizeImage;
m_pBIH->biXPelsPerMeter=biXPelsPerMeter;
m_pBIH->biYPelsPerMeter=biYPelsPerMeter;
}
unsigned?char*?CBitMap::GetpDibPaltte()
{
return?m_pDibPaltte;
}
void?CBitMap::InitialColorPaltte()
{
int?ij;
int?size1=sizeof(RGBQUAD);
for?(i=0;i {
for?(j=0;j {
if(j==3)
m_pDibPaltte[i*size1+j]=0;
else
m_pDibPaltte[i*size1+j]=i;
}
}
}
void?CBitMap::SetpDibPaltte(unsigned?char?*pDibPaltte)
{
m_pDibPaltte=pDibPaltte;
}
void?CBitMap::SetCurrentWidth(long?Width)
{
m_lWidth=Width;
}
void?CBitMap::SetCurrentHeight(long?Height)
{
m_lHeight=Height;
}
BOOL?CBitMap::Draw(CDC?*pDC)
{
if?(m_pCurrentDib==NULL)
{
return?FALSE;
}
::StretchDIBits(pDC->m_hDC00m_lWidthm_lHeight00m_lWidthm_lHeightm_pCurrentDib(BITMAPINFO?*)m_pTopOfDibDIB_RGB_COLORSSRCCOPY);
return?TRUE;
}
BOOL?CBitMap::SaveFile(const?char?*pFileName)
{
if?(m_pTopOfDib==NULL)
{
return?FALSE;
}
CFile?WFile;
if(!WFile.Open(pFileNameCFile::modeCreate|CFile::modeWriteNULL))
{
return?FALSE;
}
BITMAPFILEHEADER?BFH;
BFH.bfType=‘MB‘;
BFH.bfSize=sizeof(BITMAPFILEHEADER)+m_dwDibSize;
BFH.bfOffBits=sizeof(BITMAPFILEHEADER)+sizeof(BITMA
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????3173??2010-12-28?13:39??MyDICOM\BitMap.cpp
?????文件???????2182??2010-12-28?12:41??MyDICOM\BitMap.h
?????文件??????12013??2011-01-03?18:48??MyDICOM\Debug\BitMap.obj
?????文件??????20160??2011-01-23?17:09??MyDICOM\Debug\DICOM.obj
?????文件???????6089??2011-01-03?18:48??MyDICOM\Debug\ImageInfo.obj
?????文件??????19715??2011-01-03?18:48??MyDICOM\Debug\MainFrm.obj
?????文件?????139332??2011-01-23?17:09??MyDICOM\Debug\MyDICOM.exe
?????文件?????353548??2011-01-23?17:09??MyDICOM\Debug\MyDICOM.ilk
?????文件??????22867??2011-01-03?18:48??MyDICOM\Debug\MyDICOM.obj
?????文件????5498748??2011-01-03?18:48??MyDICOM\Debug\MyDICOM.pch
?????文件?????467968??2011-01-23?17:09??MyDICOM\Debug\MyDICOM.pdb
?????文件??????10052??2011-01-03?18:48??MyDICOM\Debug\MyDICOM.res
?????文件??????30508??2011-01-03?18:48??MyDICOM\Debug\MyDICOMDoc.obj
?????文件??????24809??2011-01-03?18:48??MyDICOM\Debug\MyDICOMView.obj
?????文件???????6710??2011-01-03?18:48??MyDICOM\Debug\PatientInfo.obj
?????文件?????105430??2011-01-03?18:48??MyDICOM\Debug\StdAfx.obj
?????文件?????205824??2011-01-23?17:09??MyDICOM\Debug\vc60.idb
?????文件?????364544??2011-01-23?17:09??MyDICOM\Debug\vc60.pdb
?????文件???????8665??2011-01-23?17:09??MyDICOM\DICOM.cpp
?????文件???????1510??2010-12-19?14:14??MyDICOM\DICOM.h
?????文件????????876??2010-12-28?12:34??MyDICOM\ImageInfo.cpp
?????文件???????1456??2010-12-28?12:34??MyDICOM\ImageInfo.h
?????文件???????2508??2010-12-08?19:39??MyDICOM\MainFrm.cpp
?????文件???????1581??2010-12-08?19:39??MyDICOM\MainFrm.h
?????文件??????47244??2010-12-28?11:47??MyDICOM\MyDICOM.aps
?????文件???????4303??2011-01-23?17:10??MyDICOM\MyDICOM.clw
?????文件???????4227??2010-12-08?19:39??MyDICOM\MyDICOM.cpp
?????文件???????5223??2010-12-19?14:51??MyDICOM\MyDICOM.dsp
?????文件????????539??2010-12-08?19:39??MyDICOM\MyDICOM.dsw
?????文件???????1367??2010-12-08?19:39??MyDICOM\MyDICOM.h
............此處省略27個(gè)文件信息
評(píng)論
共有 條評(píng)論