TIFFDoc.h
上传用户:lbr_007
上传日期:2019-05-31
资源大小:282k
文件大小:2k
源码类别:

传真(Fax)编程

开发平台:

Visual C++

  1. // TIFFDoc.h : interface of the TIFFDoc class
  2. //
  3. /////////////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_TIFFDOC_H__19DDBC64_14EE_4F2A_BF6C_1FEDFBDB36B3__INCLUDED_)
  5. #define AFX_TIFFDOC_H__19DDBC64_14EE_4F2A_BF6C_1FEDFBDB36B3__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include <string>
  10. #include <arraycontainer.h>
  11. #include <dibsect.h>
  12. class TIFFDoc : public CDocument
  13. {
  14. public:
  15. enum ImageFileTypes {
  16. JPEGFileType,
  17. BMPFileType,
  18. TIFFFileType,
  19. GIFFileType,
  20. OtherFileType,
  21. UnknownFileType
  22. };
  23. protected: // create from serialization only
  24. TIFFDoc();
  25. DECLARE_DYNCREATE(TIFFDoc)
  26. // Attributes
  27. ImageFileTypes m_fileType;
  28. ArrayContainer<DIBSection *> m_dibs;
  29. std::string m_filename;
  30. UINT32 m_currentDIB;
  31. public:
  32. // Operations
  33. public:
  34. ImageFileTypes DetermineFileType(CString& filename);
  35. ImageFileTypes GetImageType(void)const{ return m_fileType;}
  36. DIBSection * GetDIB(UINT32 ndx = 0)
  37. {
  38. DIBSection * ptr = 0;
  39. if (ndx < m_dibs.GetSize())
  40. {
  41. ptr = m_dibs.GetData()[ndx];
  42. m_currentDIB = ndx;
  43. }
  44. return ptr;
  45. }
  46. ArrayContainer<DIBSection *> * GetDIBs(void){ return &m_dibs;}
  47. void ClearImages(void);
  48. const std::string& GetFilename(void)const{ return m_filename;}
  49. void GetFilenameParts(const std::string& fullFilePath,
  50. std::string& pathOnly, std::string& fileNameOnly, std::string& extOnly);
  51. // Overrides
  52. // ClassWizard generated virtual function overrides
  53. //{{AFX_VIRTUAL(TIFFDoc)
  54. public:
  55. virtual BOOL OnNewDocument();
  56. virtual void Serialize(CArchive& ar);
  57. //}}AFX_VIRTUAL
  58. // Implementation
  59. public:
  60. virtual ~TIFFDoc();
  61. #ifdef _DEBUG
  62. virtual void AssertValid() const;
  63. virtual void Dump(CDumpContext& dc) const;
  64. #endif
  65. protected:
  66. // Generated message map functions
  67. protected:
  68. //{{AFX_MSG(TIFFDoc)
  69. afx_msg void OnFileOpen();
  70. afx_msg void OnFileSave();
  71. afx_msg void OnFileSaveAs();
  72. afx_msg void OnUpdateFileProperties(CCmdUI* pCmdUI);
  73. afx_msg void OnFileProperties();
  74. //}}AFX_MSG
  75. DECLARE_MESSAGE_MAP()
  76. };
  77. /////////////////////////////////////////////////////////////////////////////
  78. //{{AFX_INSERT_LOCATION}}
  79. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  80. #endif // !defined(AFX_TIFFDOC_H__19DDBC64_14EE_4F2A_BF6C_1FEDFBDB36B3__INCLUDED_)