亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gif.h

?? 《精通 vc++ 圖像編程》的源代碼
?? H
字號:
// Gif.h: interface for the CGif class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_GIF_H__82031240_001C_11D3_9481_000021003EA5__INCLUDED_)
#define AFX_GIF_H__82031240_001C_11D3_9481_000021003EA5__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Dib.h"

//////////////////////////////////////////////////////////////////
// constants
//
#define MAXCOLORMAPSIZE			256
#define CM_RED					0
#define CM_GREEN				1
#define CM_BLUE					2
#define MAX_LZW_BITS			12
#define BITS				    12
#define HSIZE					5003            /* 80% occupancy */
#define INTERLACE				0x40
#define LOCALCOLORMAP			0x80

//////////////////////////////////////////////////////////////////
// macros
//
#define BitSet(byte,bit)		(((byte) & (bit))==(bit))
#define ReadOK(file,buffer,len) (fread(buffer,len,1,file)!=0)
#define LM_to_uint(a,b)			(((b)<<8)|(a))
#define MAXCODE(n_bits)        (((code_int) 1 << (n_bits)) - 1)

//////////////////////////////////////////////////////////////////
// owner type
//
typedef short int				code_int;	/* was int */
typedef long int				count_int;
typedef unsigned char			pixval;
typedef unsigned char			char_type;

//////////////////////////////////////////////////////////////////
// structures
//
typedef struct tagGIFSCREEN
{
	unsigned int Width;
	unsigned int Height;
	unsigned char ColorMap[3][MAXCOLORMAPSIZE];
	unsigned int BitPixel;
	unsigned int ColorResolution;
	unsigned int BackGround;
	unsigned int AspectRatio;
} GIFSCREEN;

typedef struct tagGIF89
{
	int transparent;
	int delayTime;
	int inputFlag;
	int disposal;
} GIF89;

////////////////////////////////////////////////////////////
// class CGif
//
class AFX_EXT_CLASS CGif  
{
// constructor
public:
	CGif();
	CGif(CDib *pDib);
	virtual ~CGif();

// public functions
public:
	// Get CDib
	CDib * GetDib()
	{
		return m_pDib;
	}
	//Set CDib
	BOOL SetDib(CDib *pDib)
	{
		if (pDib == NULL)
			return FALSE;

		if (m_pDib != NULL)
			delete m_pDib;

		m_pDib = pDib->Clone();

		return (m_pDib != NULL);
	}
	// Load GIF file
	BOOL Load(LPCTSTR lpstrFileName);
	// save GIF file
	BOOL Save(LPCTSTR lpstrFileName, CDib* pDib = NULL);
	// get error string
	CString GetErrorString();

// internal functions
private:
	// read to RGB
	LPBYTE ReadGIFFile(LPCTSTR lpstrFileName, UINT *uWidth, UINT *uHeight);
	// write 256 RGB to file
	BOOL WriteGIFFile(LPCTSTR lpstrFileName, BYTE* buf, int GWidth, int GHeight,
					  int BackGround, int Red[], int Green[], int Blue[]);
	// free allocate memory
	void FreeBuffer(BYTE *Buffer);
	int	ReadColorMap (FILE *fd, int number, BYTE buffer[3][MAXCOLORMAPSIZE]);
	int	DoExtension (FILE *fd,int label);
	int	GetDataBlock (FILE *fd, BYTE *buf);
	int	GetCode (FILE *fd, int code_size, int flag);
	int	LZWReadByte (FILE *fd,int flag, int  input_code_size);
	BOOL ReadImage(FILE *fd, BYTE  * bigMemBuf, int width, int height,
				   BYTE cmap[3][MAXCOLORMAPSIZE], int interlace);
	void BumpPixel();
	int GIFNextPixel();
	void Putword(int w, FILE* fp);
	void compress(int init_bits, FILE* outfile);
	void output(code_int code);
	void cl_block();
	void cl_hash(count_int hsize);
	void writeerr();
	void char_init();
	void char_out(int c);
	void flush_char();
	BYTE* MakeDwordAlign(BYTE *dataBuf,			// input buf
						 UINT widthPix,				// input pixels
						 UINT height,				// lines
						 UINT *uiOutWidthBytes);	// new width bytes
	BYTE* ClearDwordAlign(BYTE *inBuf,				// input buf
						UINT widthPix,				// input size
						UINT height,
						UINT nBpp);
	BOOL VertFlipBuf(BYTE * inbuf,						// input buf
				   UINT widthBytes,							// input width bytes
				   UINT height);							// height
	BOOL BGRFromRGB(BYTE *buf,							// input buf
					UINT widthPix,								// width in pixels
					UINT height);								// lines

// priovate data
private:
	// attributes
	CDib*	m_pDib;

	// data
	int		ZeroDataBlock;
	CString m_strGIFError;

	int 			Width, Height;
	int				curx, cury;
	long 			CountDown;
	unsigned long	cur_accum;
	int				cur_bits;
	unsigned char	*buffer;

	int n_bits;                         /* number of bits/code */
	int maxbits;						/* user settable max # bits/code */
	code_int maxcode;                   /* maximum code, given n_bits */
	code_int maxmaxcode;				/* should NEVER generate this code */
	count_int htab [HSIZE];
	unsigned short codetab [HSIZE];
	code_int free_ent;                  /* first unused entry */
	int clear_flg;
	int g_init_bits;
	FILE* g_outfile;
	int ClearCode;
	int EOFCode;

	int a_count;
	char accum[256];
};

#endif // !defined(AFX_GIF_H__82031240_001C_11D3_9481_000021003EA5__INCLUDED_)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
九九久久精品视频 | 91精品国产91久久久久久最新毛片 | 99久久综合国产精品| 在线亚洲一区观看| 日韩三级在线免费观看| ...xxx性欧美| 狠狠色丁香婷婷综合久久片| 92国产精品观看| 欧美精品一区二区三区蜜臀| 亚洲午夜久久久久中文字幕久| 久久av资源网| 欧美一区二区黄色| 一区二区在线观看免费| 成人综合在线观看| 久久在线免费观看| 免费观看一级特黄欧美大片| 在线观看日韩国产| 亚洲九九爱视频| 成人美女视频在线观看| 2023国产精华国产精品| 日欧美一区二区| 欧美视频一区二区三区| 日韩美女精品在线| 亚洲婷婷综合色高清在线| 图片区小说区区亚洲影院| 不卡的av在线播放| 久久久国产综合精品女国产盗摄| 天堂成人国产精品一区| 色综合久久久久综合| 久久人人爽爽爽人久久久| 青青草国产成人av片免费| 欧美日韩一区二区不卡| 一区二区三区欧美日| 一本色道久久综合亚洲精品按摩| 亚洲国产精品精华液ab| 成人性生交大片免费看视频在线| 精品国产一二三| 国内偷窥港台综合视频在线播放| 欧美va亚洲va香蕉在线| 精品系列免费在线观看| 精品国内片67194| 激情综合网最新| 久久女同精品一区二区| 国产综合色产在线精品| 久久色在线观看| 成人一区二区三区中文字幕| 国产精品萝li| 91久久一区二区| 亚洲福利一区二区三区| 91精品国产综合久久精品麻豆| 日精品一区二区三区| 精品人在线二区三区| 国产美女在线精品| 亚洲欧洲制服丝袜| 欧美日韩一级片网站| 日产国产高清一区二区三区 | 成人黄色电影在线| 国产精品毛片大码女人 | 波多野结衣91| 亚洲视频综合在线| 欧美巨大另类极品videosbest| 奇米一区二区三区| 亚洲国产精品v| 日本精品视频一区二区| 免费一级欧美片在线观看| 国产午夜精品一区二区三区嫩草| 99视频超级精品| 奇米精品一区二区三区在线观看| 久久久亚洲高清| 91理论电影在线观看| 蜜臀av性久久久久av蜜臀妖精| 国产日韩欧美综合在线| 在线观看视频91| 粉嫩aⅴ一区二区三区四区| 亚洲女厕所小便bbb| 精品欧美一区二区在线观看| 99久久久久久| 久久成人免费电影| 一区二区三区在线视频免费观看| 日韩欧美www| 色国产综合视频| 国产精品一区久久久久| 亚洲国产精品久久人人爱| 国产视频一区在线观看| 欧美日韩一区视频| 97精品超碰一区二区三区| 精品一区二区国语对白| 亚洲丶国产丶欧美一区二区三区| 日本一区二区三区在线不卡| 欧美裸体bbwbbwbbw| 91在线观看下载| 国产成人av电影在线观看| 日韩高清不卡在线| 亚洲一区二区三区四区的 | 91视视频在线观看入口直接观看www | 色成年激情久久综合| 国产精品综合一区二区| 天使萌一区二区三区免费观看| 国产精品久久久99| 久久久久久久性| 6080午夜不卡| 欧美亚洲一区二区在线观看| 成人性生交大片免费看在线播放 | 午夜亚洲福利老司机| 国产精品久久一级| 久久免费精品国产久精品久久久久| 欧美日韩一区二区不卡| 在线这里只有精品| 色婷婷精品久久二区二区蜜臂av| 国产美女精品在线| 国产麻豆精品95视频| 久久不见久久见中文字幕免费| 偷拍一区二区三区| 一区二区在线观看免费 | 欧美日韩一区二区三区高清 | 成人高清视频免费观看| 国产精品69毛片高清亚洲| 国产在线视频不卡二| 激情深爱一区二区| 激情欧美日韩一区二区| 黑人巨大精品欧美一区| 国产一区激情在线| 国产mv日韩mv欧美| gogo大胆日本视频一区| 一本色道久久加勒比精品| 色悠悠亚洲一区二区| 在线观看91精品国产入口| 欧美亚洲国产bt| 欧美男男青年gay1069videost| 日韩av一二三| 国模少妇一区二区三区| 青青草91视频| 亚洲电影第三页| 国产免费观看久久| 欧美本精品男人aⅴ天堂| 日本黄色一区二区| caoporn国产精品| 国产精品夜夜嗨| 视频一区二区三区入口| 亚洲欧洲av色图| 91免费小视频| 欧美亚洲国产怡红院影院| 精品无码三级在线观看视频| 亚洲男同性视频| 日韩精品一区二区三区视频播放| 97se亚洲国产综合在线| eeuss鲁片一区二区三区| 91玉足脚交白嫩脚丫在线播放| 国产成人精品影院| 久久99精品国产麻豆婷婷洗澡| 亚洲欧美日本在线| 日韩一级视频免费观看在线| 久久精品噜噜噜成人88aⅴ| 中文字幕第一区二区| 欧美二区在线观看| 日本va欧美va精品发布| 亚洲永久精品国产| 蜜桃视频在线观看一区| 久久精品国产精品亚洲精品| 久久精品久久综合| 久久精品国产成人一区二区三区 | 欧美不卡一区二区| 国产一区二区三区日韩| 国产精品影视网| 欧美精品乱码久久久久久| 日韩丝袜美女视频| 亚洲欧美日韩中文字幕一区二区三区 | 午夜av电影一区| 午夜久久久影院| 国内精品免费在线观看| 91在线无精精品入口| 欧美影院一区二区| 国产亚洲精品超碰| 亚洲国产乱码最新视频| 国产盗摄一区二区| 欧美午夜理伦三级在线观看| 精品毛片乱码1区2区3区 | 99热这里都是精品| 91精品在线一区二区| 亚洲女性喷水在线观看一区| 国产精品影视在线| 在线不卡一区二区| 亚洲日本va在线观看| 青青草国产成人99久久| 在线一区二区观看| 中文字幕精品一区二区精品绿巨人 | 久久综合九色综合97婷婷女人| 亚洲欧美日韩中文字幕一区二区三区| 日韩精品乱码免费| 欧美男男青年gay1069videost| 日韩欧美久久久| 亚洲一区二区精品久久av| 99re热视频这里只精品| 久久精品一区二区三区不卡牛牛| 午夜一区二区三区视频| 九九九精品视频| 欧美亚洲国产bt| 国产一区在线观看视频| 亚洲男人的天堂在线观看| 精品国产一区二区三区久久久蜜月|