JpegModule.h
上传用户:yatsl7111
上传日期:2007-01-08
资源大小:1433k
文件大小:4k
源码类别:

图形图象

开发平台:

Visual C++

  1. /********************************************************************
  2. JpegModule.h - ISee图像浏览器—JPEG图像读写模块定义文件
  3.           
  4.     版权所有(C) 2000 VCHelp-coPathway-ISee workgroup member
  5.     这一程序是自由软件,你可以遵照自由软件基金会出版的GNU 通用公共许
  6. 可证条款来修改和重新发布这一程序。或者用许可证的第二版,或者(根
  7. 据你的选择)用任何更新的版本。
  8.     发布这一程序的目的是希望它有用,但没有任何担保。甚至没有适合特定
  9. 目地的隐含的担保。更详细的情况请参阅GNU通用公共许可证。
  10.     你应该已经和程序一起收到一份GNU通用公共许可证的副本。如果还没有,
  11. 写信给:
  12.     The Free Software Foundation, Inc.,  675  Mass Ave,  Cambridge,
  13.     MA02139,  USA
  14. 如果你在使用本软件时有什么问题或建议,用以下地址可以与我们取得联
  15. 系:
  16. http://isee.126.com
  17. http://www.vchelp.net
  18. 或:
  19. iseesoft@china.com
  20. 编写人:orbit
  21. E-Mail:Inte2000@263.net
  22. 文件版本:
  23. Beta  1.5
  24. Build 01209
  25. Date  2000-12-9
  26. ********************************************************************/
  27. #if !defined(AFX_JPEGMODULE_H__C03B0EA9_460A_11D4_8853_C6A14464AE19__INCLUDED_)
  28. #define AFX_JPEGMODULE_H__C03B0EA9_460A_11D4_8853_C6A14464AE19__INCLUDED_
  29. #if _MSC_VER > 1000
  30. #pragma once
  31. #endif // _MSC_VER > 1000
  32. #ifndef __AFXWIN_H__
  33. #error include 'stdafx.h' before including this file for PCH
  34. #endif
  35. #include "resource.h" // main symbols
  36. #ifdef __cplusplus
  37. extern "C" {
  38. #endif // __cplusplus
  39. #undef HAVE_BOOLEAN
  40. #include "Jpeglib2JpegLib.h"
  41. #ifdef __cplusplus
  42. }
  43. #endif // __cplusplus
  44. #include <setjmp.h>
  45. struct my_error_mgr {
  46.   struct jpeg_error_mgr pub;
  47.   jmp_buf setjmp_buffer;
  48. };
  49. typedef struct my_error_mgr * my_error_ptr;
  50. /////////////////////////////////////////////////////////////////////////////
  51. // CJpegModuleApp
  52. // See JpegModule.cpp for the implementation of this class
  53. class CJpegModuleApp : public CWinApp
  54. {
  55. public:
  56. CJpegModuleApp();
  57. // Overrides
  58. // ClassWizard generated virtual function overrides
  59. //{{AFX_VIRTUAL(CJpegModuleApp)
  60. //}}AFX_VIRTUAL
  61. //{{AFX_MSG(CJpegModuleApp)
  62. // NOTE - the ClassWizard will add and remove member functions here.
  63. //    DO NOT EDIT what you see in these blocks of generated code !
  64. //}}AFX_MSG
  65. DECLARE_MESSAGE_MAP()
  66. };
  67. #define JPG_SOI_MARK            0xD8FF
  68. #define CHECK_JPG_SOI(type)     ( (type)==JPG_SOI_MARK )
  69. // 定义模块版本
  70. #define MODULE_BUILDID 15
  71. //copy from BmpMoudle.h
  72. #define DIBSCANLINE_WIDTHBYTES(bits)    (((bits)+31)/32*4)
  73. // 目标图位深度格式
  74. enum DESFORMAT
  75. {
  76. DF_NULL, // 无效的目标格式
  77. DF_16_555, // 16位555格式(也就是15位图像)
  78. DF_16_565, // 16位565格式
  79. DF_24, // 24位格式
  80. DF_32, // 32位格式
  81. DF_MAX // 有效值边界
  82. };
  83. // 接口函数声明 — 第一层,唯一与外界联系的接口
  84. int WINAPI AccessJPEGModule(INFOSTR *pInfo);
  85. // 命令解释函数 — 第二层解释函数
  86. void _fnCMD_GETPROCTYPE(INFOSTR *pInfo);
  87. void _fnCMD_GETWRITERS(INFOSTR *pInfo);
  88. void _fnCMD_GETWRITERMESS(INFOSTR *pInfo);
  89. void _fnCMD_GETBUILDID(INFOSTR *pInfo);
  90. void _fnCMD_IS_VALID_FILE(INFOSTR *pInfo);
  91. void _fnCMD_GET_FILE_INFO(INFOSTR *pInfo);
  92. void _fnCMD_LOAD_FROM_FILE(INFOSTR *pInfo);
  93. void _fnCMD_SAVE_TO_FILE(INFOSTR *pInfo);
  94. void _fnCMD_IS_SUPPORT(INFOSTR *pInfo);
  95. void _fnCMD_RESIZE(INFOSTR *pInfo);
  96. // 内部执行函数 - 第三层执行函数.....
  97. METHODDEF(void) my_error_exit (j_common_ptr cinfo);
  98. IMGCOMPRESS CompressType(J_COLOR_SPACE jcs);
  99. DESFORMAT _get_desformat(LPINFOSTR pInfo);
  100. BOOL GetRGBBuf(LPINFOSTR pInfo,LPBYTE lpRBGBuf);
  101. BOOL GetGRAYBuf(LPINFOSTR pInfo,LPBYTE lpGRAYBuf);
  102. /////////////////////////////////////////////////////////////////////////////
  103. //{{AFX_INSERT_LOCATION}}
  104. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  105. #endif // !defined(AFX_JPEGMODULE_H__C03B0EA9_460A_11D4_8853_C6A14464AE19__INCLUDED_)