PsdModule.h
上传用户:yatsl7111
上传日期:2007-01-08
资源大小:1433k
文件大小:4k
- // PsdModule.h : main header file for the PSDMODULE DLL
- //
- #if !defined(AFX_PSDMODULE_H__C03B0EB5_460A_11D4_8853_C6A14464AE19__INCLUDED_)
- #define AFX_PSDMODULE_H__C03B0EB5_460A_11D4_8853_C6A14464AE19__INCLUDED_
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
- #ifndef __AFXWIN_H__
- #error include 'stdafx.h' before including this file for PCH
- #endif
- #include "resource.h" // main symbols
- #include "..publicgol_isee.h" // 此文件定义了接口数据包
- /////////////////////////////////////////////////////////////////////////////
- ///// 以下是 PSD 文件的结构
- /////////////////////////////////////////////////////////////////////////////
- #define PSD_SIGNATURE_MARKER 0x53504238 // ((WORD)('S'<<24)|(WORD)('P'<<16)|(WORD)('B'<<8)|'8')
- #define PSD_VERSION_MARKER 0x0100 // (WORD)(1<<8)
- #define ExchangeDWord(dword) ((dword&0xff)<<24)+((dword&0xff00)<<8)+((dword&0xff0000)>>8)+((dword&0xff000000)>>24)
- #define ExchangeWord(word) ((word&0xff)<<8)+((word&0xff00)>>8)
- #define RWPROGRESSSIZE 100
- // 目标图位深度格式
- enum DESFORMAT
- {
- DF_NULL, // 无效的目标格式
- DF_16_555, // 16位555格式(也就是15位图像)
- DF_16_565, // 16位565格式
- DF_24, // 24位格式
- DF_32, // 32位格式
- DF_MAX // 有效值边界
- };
- // 图像的存储方式
- enum IMAGEMODE
- {
- BITMAP_Image = 0, // Bitmap 是位图,每个像素只要一个位(黑白)
- GRAYSCALE_Image = 1, // 灰度图(有8位和16位)
- INDEXED_Image = 2, // 索引图,有色盘(只有8位)
- RGB_Image = 3, // 分R,G,B三色的图( RRR..GGG..BBB.. )
- CMYK_Image = 4, // 分C,M,Y,K四色的图( CCC..MMM..YYY..KKK.. )
- MULTICHANNEL_Image = 7, // 多通道
- DUOTONE_Image = 8, // 双色
- LAB_Image = 9 // Lab色
- };
- // PSD 文件信息头结构
- typedef struct
- {
- DWORD Signature; // Always equal to 8BPS
- WORD Version; // Always equal to 1
- WORD Reserved0; ////////////////////////
- WORD Reserved1; // Reserved 6 bytes
- WORD Reserved2; //
- WORD Channels; // (range: 1 to 24 )
- // The number of channels in the image.
- DWORD Rows; // Rows (range: 1 to 30000)
- DWORD Columns; // Columns (range: 1 to 30000)
- WORD Depth; // bits per channel (Values: 1, 8, 16)
- WORD Mode; // Color mode
- // Values are:
- // Bitmap=0, Grayscale=1, Indexed=2, RGB=3, CMYK=4, Multichannel=7, Duotone=8, Lab=9
- }PSDFILEHEADER, *LPPSDFILEHEADER;
- /////////////////////////////////////////////////////////////////////////////
- // CPsdModuleApp
- // See PsdModule.cpp for the implementation of this class
- //
- class CPsdModuleApp : public CWinApp
- {
- public:
- CPsdModuleApp();
- // Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CPsdModuleApp)
- //}}AFX_VIRTUAL
- //{{AFX_MSG(CPsdModuleApp)
- // NOTE - the ClassWizard will add and remove member functions here.
- // DO NOT EDIT what you see in these blocks of generated code !
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
- };
- // 定义模块版本
- #define MODULE_BUILDID 15
- // 接口函数声明 — 第一层,唯一与外界联系的接口
- int WINAPI AccessPSDModule(INFOSTR *pInfo);
- // 命令解释函数 — 第二层解释函数
- void _fnCMD_GETPROCTYPE(INFOSTR *pInfo);
- void _fnCMD_GETWRITERS(INFOSTR *pInfo);
- void _fnCMD_GETWRITERMESS(INFOSTR *pInfo);
- void _fnCMD_GETBUILDID(INFOSTR *pInfo);
- void _fnCMD_IS_VALID_FILE(INFOSTR *pInfo);
- void _fnCMD_GET_FILE_INFO(INFOSTR *pInfo);
- void _fnCMD_LOAD_FROM_FILE(INFOSTR *pInfo);
- void _fnCMD_SAVE_TO_FILE(INFOSTR *pInfo);
- void _fnCMD_IS_SUPPORT(INFOSTR *pInfo);
- void _fnCMD_RESIZE(INFOSTR *pInfo);
- // 内部执行函数 - 第三层执行函数.....
- int ReadFormPSDFile(CFile& file, LPINFOSTR pInfo);
- int IsSupportFormat( WORD ColorMode, WORD ColorPixel ) ;
- /////////////////////////////////////////////////////////////////////////////
- //{{AFX_INSERT_LOCATION}}
- // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
- #endif // !defined(AFX_PSDMODULE_H__C03B0EB5_460A_11D4_8853_C6A14464AE19__INCLUDED_)