gif.h.svn-base

来自「gif to bmp conversion」· SVN-BASE 代码 · 共 89 行

SVN-BASE
89
字号
#ifndef _GIF_H_
#define _GIF_H_

#ifdef __cplusplus
extern "C" {
#endif

#define TRANSPARENT_COLOR 0xC9E597

typedef struct position
{
	JC_INT32 iX;
	JC_INT32 iY;
}ST_POSITION;

typedef struct frame_attribute
{
	JC_BOOLEAN		bGlobal ;
	JC_INT32		iFrameDelay ;
	JC_INT32		iFrameDisposal ;
	JC_INT32		iFrameTransparent ;
	JC_INT32		iFrameTransparency ;
	JC_INT32		iFrameWidth ;
	JC_INT32		iFrameHeight ;
	JC_INT32		iFrameStride ;
	JC_INT32		iNumPalette;
	JC_UINT8	    *pucFrameRaster ;
	JC_UINT8        *pucFramePalette ;
	ST_POSITION		stPosition ;
}ST_FRAME_ATTRIBUTE;

typedef struct gif_attribute
{
	JC_UINT8	           *pucByte ;
	JC_INT16	            hBk ;
	JC_INT32	            iScreenWidth ;
	JC_INT32	            iScreenHeight ;	
	JC_INT32				iTransparentColor;
	JC_INT32	            iNoFrameLoops;			
	JC_INT32	            iFrameCount ;
	JC_INT32	            iTimerID;
	JC_UINT8	            *pucGlobalPalette ;
	ST_FRAME_ATTRIBUTE	    **ppstFrameAttribute ;
}ST_GIF_ATTRIBUTE ;

typedef struct bmpflieheader
{ 
  JC_INT16      hFileType; 
  JC_UINT32     uiFileSize; 
  JC_INT16      hFlieReserved1; 
  JC_INT16      hFlieReserved2; 
  JC_UINT32     uiFlieOffBits;  
}ST_BMPFILEHEADER; 

typedef struct bmpinfoheader
{
  JC_UINT32		uiSize; 
  JC_UINT32		uiWidth; 
  JC_UINT32		uiHeight; 
  JC_INT16		hPlanes; 
  JC_INT16		hBitCount; 
  JC_UINT32		uiCompression; 
  JC_UINT32		uiSizeImage; 
  JC_UINT32		uiXPelsPerMeter; 
  JC_UINT32		uiYPelsPerMeter; 
  JC_UINT32		uiClrUsed; 
  JC_UINT32		uiClrImportant;
}ST_BMPINFOHEADER; 

typedef enum imgformat
{
	E_UNKNOWN	= -1,
	E_BMP,
	E_GIF,
	E_PNG,
	E_JPG,
	E_WBMP,
	E_PALMBMP,
	E_PEGBMP
} E_IMGFORMAT ;

//JC_RETCODE Gif_DecodeFromBuffer(LPGIF lpGif, JC_UINT8 *pucBuf , JC_INT32 iSize);
JC_RETCODE jdi_GifDecodeFile(JC_CHAR* pszGifFile,  ST_GIF_ATTRIBUTE* pstGifAttribute);

#ifdef __cplusplus
}
#endif

#endif //_GIF_H_//

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?