/*************************************************************************** * E-Com Technology Ltd. * * ECOMPACS DICOM Network Transport Libraries * Version 0.1 Beta ***************************************************************************/ #ifndef __DICOMImageJPEG__ #define __DICOMImageJPEG__ //----------------------------------------------------------------------------- // class DICOMImageJPEG //----------------------------------------------------------------------------- class DICOMImageJPEG { public: DICOMImageJPEG () { Init (); } void Init (void) { m_JPEGQuality = 75; m_WindowCenter = -1; m_WindowWidth = -1; m_NewRows = -1; m_NewCols = -1; m_OrgRows = -1; m_OrgCols = -1; } ~DICOMImageJPEG () { Release (); } void Release (void) { m_Buffer.Reset (); } BOOL WriteFile (const char * FileName) const; BOOL IsValid (void) const { return (m_Buffer.GetSize () != 0); } BOOL ConvertImage (DICOMImage * Image); // 读文件,并且设置原来的窗宽/窗位 BOOL ReadFile (const char * FileName); // 判断是否应当重新创建JPEG文件,FileName是已知的文件名 // 返回true时,表明应当重新创建JPEG,返回false时,表明无需重新创建JPEG bool ShouldICreateJPEG ( const char * FileName, int JPEGQuality, int WindowCenter, int WindowWidth, int NewRows, int NewCols); int GetJPEGLength () const; public: BOOL ScaleImage (DICOMImage * Image); public: INT16 m_JPEGQuality; int m_WindowCenter; int m_WindowWidth; INT16 m_NewRows; INT16 m_NewCols; INT16 m_OrgRows; INT16 m_OrgCols; protected: IStreamBuffer m_Buffer; }; #endif