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

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

?? ximajpg.h

?? 在wince上的游戲模擬器的源碼
?? H
字號:
/* * File:	ximajpg.h * Purpose:	JPG Image Class Loader and Writer *//* === C R E D I T S  &  D I S C L A I M E R S ============== * CxImageJPG (c) 07/Aug/2001 Davide Pizzolato - www.xdp.it * Permission is given by the author to freely redistribute and include * this code in any program as long as this credit is given where due. * * CxImage version 5.99a 08/Feb/2004 * See the file history.htm for the complete bugfix and news report. * * Special thanks to Troels Knakkergaard for new features, enhancements and bugfixes * * Special thanks to Chris Shearer Cooper for CxFileJpg tips & code * * EXIF support based on jhead-1.8 by Matthias Wandel <mwandel(at)rim(dot)net> * * original CImageJPG  and CImageIterator implementation are: * Copyright:	(c) 1995, Alejandro Aguilar Sierra <asierra(at)servidor(dot)unam(dot)mx> * * This software is based in part on the work of the Independent JPEG Group. * Copyright (C) 1991-1998, Thomas G. Lane. * * COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY * OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES * THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE * OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED * CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT * THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY * SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL * PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER * THIS DISCLAIMER. * * Use at your own risk! * ========================================================== */#if !defined(__ximaJPEG_h)#define __ixmaJPEG_h#include "ximage.h"#if CXIMAGE_SUPPORT_JPG#define CXIMAGEJPG_SUPPORT_EXIF 1extern "C" { #include "../jpeg/jpeglib.h" #include "../jpeg/jerror.h"}class DLL_EXP CxImageJPG: public CxImage{public:	CxImageJPG();	~CxImageJPG() {};//	bool Load(const char * imageFileName){ return CxImage::Load(imageFileName,CXIMAGE_FORMAT_JPG);}//	bool Save(const char * imageFileName){ return CxImage::Save(imageFileName,CXIMAGE_FORMAT_JPG);}	bool Decode(CxFile * hFile);	bool Decode(FILE *hFile) { CxIOFile file(hFile); return Decode(&file); }#if CXIMAGE_SUPPORT_ENCODE	bool Encode(CxFile * hFile);	bool Encode(FILE *hFile) { CxIOFile file(hFile); return Encode(&file); }#endif // CXIMAGE_SUPPORT_ENCODE/* * EXIF support based on jhead-1.8 by Matthias Wandel <mwandel(at)rim(dot)net> */#if CXIMAGEJPG_SUPPORT_EXIF#define MAX_COMMENT 1000#define MAX_SECTIONS 20typedef struct tag_ExifInfo {	char  Version      [5];    char  CameraMake   [32];    char  CameraModel  [40];    char  DateTime     [20];    int   Height, Width;    int   Orientation;    int   IsColor;    int   Process;    int   FlashUsed;    float FocalLength;    float ExposureTime;    float ApertureFNumber;    float Distance;    float CCDWidth;    float ExposureBias;    int   Whitebalance;    int   MeteringMode;    int   ExposureProgram;    int   ISOequivalent;    int   CompressionLevel;	float FocalplaneXRes;	float FocalplaneYRes;	float FocalplaneUnits;	float Xresolution;	float Yresolution;	float ResolutionUnit;	float Brightness;    char  Comments[MAX_COMMENT];    unsigned char * ThumbnailPointer;  /* Pointer at the thumbnail */    unsigned ThumbnailSize;     /* Size of thumbnail. */	bool  IsExif;} EXIFINFO;//--------------------------------------------------------------------------// JPEG markers consist of one or more 0xFF bytes, followed by a marker// code byte (which is not an FF).  Here are the marker codes of interest// in this program.  (See jdmarker.c for a more complete list.)//--------------------------------------------------------------------------#define M_SOF0  0xC0            // Start Of Frame N#define M_SOF1  0xC1            // N indicates which compression process#define M_SOF2  0xC2            // Only SOF0-SOF2 are now in common use#define M_SOF3  0xC3#define M_SOF5  0xC5            // NB: codes C4 and CC are NOT SOF markers#define M_SOF6  0xC6#define M_SOF7  0xC7#define M_SOF9  0xC9#define M_SOF10 0xCA#define M_SOF11 0xCB#define M_SOF13 0xCD#define M_SOF14 0xCE#define M_SOF15 0xCF#define M_SOI   0xD8            // Start Of Image (beginning of datastream)#define M_EOI   0xD9            // End Of Image (end of datastream)#define M_SOS   0xDA            // Start Of Scan (begins compressed data)#define M_JFIF  0xE0            // Jfif marker#define M_EXIF  0xE1            // Exif marker#define M_COM   0xFE            // COMment class CxExifInfo{typedef struct tag_Section_t{    BYTE*    Data;    int      Type;    unsigned Size;} Section_t;public:	EXIFINFO* m_exifinfo;	char m_szLastError[256];	CxExifInfo(EXIFINFO* info = NULL);	~CxExifInfo();	bool DecodeExif(CxFile * hFile);protected:	bool process_EXIF(unsigned char * CharBuf, unsigned int length);	void process_COM (const BYTE * Data, int length);	void process_SOFn (const BYTE * Data, int marker);	int Get16u(void * Short);	int Get16m(void * Short);	long Get32s(void * Long);	unsigned long Get32u(void * Long);	double ConvertAnyFormat(void * ValuePtr, int Format);	bool ProcessExifDir(unsigned char * DirStart, unsigned char * OffsetBase, unsigned ExifLength,                           EXIFINFO * const pInfo, unsigned char ** const LastExifRefdP);	int ExifImageWidth;	int MotorolaOrder;	Section_t Sections[MAX_SECTIONS];	int SectionsRead;	bool freeinfo;};	EXIFINFO m_exifinfo;	bool DecodeExif(CxFile * hFile);	bool DecodeExif(FILE * hFile) { CxIOFile file(hFile); return DecodeExif(&file); }#endif //CXIMAGEJPG_SUPPORT_EXIF//////////////////////////////////////////////////////////////////////////////////////////////////////////////        C x F i l e J p g         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// thanks to Chris Shearer Cooper <cscooper(at)frii(dot)com>class CxFileJpg : public jpeg_destination_mgr, public jpeg_source_mgr	{public:	enum { eBufSize = 4096 };	CxFileJpg(CxFile* pFile)	{        m_pFile = pFile;		init_destination = InitDestination;		empty_output_buffer = EmptyOutputBuffer;		term_destination = TermDestination;		init_source = InitSource;		fill_input_buffer = FillInputBuffer;		skip_input_data = SkipInputData;		resync_to_restart = jpeg_resync_to_restart; // use default method		term_source = TermSource;		next_input_byte = NULL; //* => next byte to read from buffer 		bytes_in_buffer = 0;	//* # of bytes remaining in buffer 		m_pBuffer = new unsigned char[eBufSize];	}	~CxFileJpg()	{		delete [] m_pBuffer;	}	static void InitDestination(j_compress_ptr cinfo)	{		CxFileJpg* pDest = (CxFileJpg*)cinfo->dest;		pDest->next_output_byte = pDest->m_pBuffer;		pDest->free_in_buffer = eBufSize;	}	static boolean EmptyOutputBuffer(j_compress_ptr cinfo)	{		CxFileJpg* pDest = (CxFileJpg*)cinfo->dest;		if (pDest->m_pFile->Write(pDest->m_pBuffer,1,eBufSize)!=(size_t)eBufSize)			ERREXIT(cinfo, JERR_FILE_WRITE);		pDest->next_output_byte = pDest->m_pBuffer;		pDest->free_in_buffer = eBufSize;		return TRUE;	}	static void TermDestination(j_compress_ptr cinfo)	{		CxFileJpg* pDest = (CxFileJpg*)cinfo->dest;		size_t datacount = eBufSize - pDest->free_in_buffer;		/* Write any data remaining in the buffer */		if (datacount > 0) {			if (!pDest->m_pFile->Write(pDest->m_pBuffer,1,datacount))				ERREXIT(cinfo, JERR_FILE_WRITE);		}		pDest->m_pFile->Flush();		/* Make sure we wrote the output file OK */		if (pDest->m_pFile->Error()) ERREXIT(cinfo, JERR_FILE_WRITE);		return;	}	static void InitSource(j_decompress_ptr cinfo)	{		CxFileJpg* pSource = (CxFileJpg*)cinfo->src;		pSource->m_bStartOfFile = TRUE;	}	static boolean FillInputBuffer(j_decompress_ptr cinfo)	{		size_t nbytes;		CxFileJpg* pSource = (CxFileJpg*)cinfo->src;		nbytes = pSource->m_pFile->Read(pSource->m_pBuffer,1,eBufSize);		if (nbytes <= 0){			if (pSource->m_bStartOfFile)	//* Treat empty input file as fatal error 				ERREXIT(cinfo, JERR_INPUT_EMPTY);			WARNMS(cinfo, JWRN_JPEG_EOF);			// Insert a fake EOI marker 			pSource->m_pBuffer[0] = (JOCTET) 0xFF;			pSource->m_pBuffer[1] = (JOCTET) JPEG_EOI;			nbytes = 2;		}		pSource->next_input_byte = pSource->m_pBuffer;		pSource->bytes_in_buffer = nbytes;		pSource->m_bStartOfFile = FALSE;		return TRUE;	}	static void SkipInputData(j_decompress_ptr cinfo, long num_bytes)	{		CxFileJpg* pSource = (CxFileJpg*)cinfo->src;		if (num_bytes > 0){			while (num_bytes > (long)pSource->bytes_in_buffer){				num_bytes -= (long)pSource->bytes_in_buffer;				FillInputBuffer(cinfo);				// note we assume that fill_input_buffer will never return FALSE,				// so suspension need not be handled.			}			pSource->next_input_byte += (size_t) num_bytes;			pSource->bytes_in_buffer -= (size_t) num_bytes;		}	}	static void TermSource(j_decompress_ptr cinfo)	{		return;	}protected:    CxFile  *m_pFile;	unsigned char *m_pBuffer;	bool m_bStartOfFile;};public:	enum CODEC_OPTION	{		ENCODE_BASELINE = 0x1,		ENCODE_ARITHMETIC = 0x2,		ENCODE_GRAYSCALE = 0x4,		ENCODE_OPTIMIZE = 0x8,		ENCODE_PROGRESSIVE = 0x10,		ENCODE_LOSSLESS = 0x20,		ENCODE_SMOOTHING = 0x40,		DECODE_GRAYSCALE = 0x80,		DECODE_QUANTIZE = 0x100,		DECODE_DITHER = 0x200,		DECODE_ONEPASS = 0x400,		DECODE_NOSMOOTH = 0x800	}; 	int m_nPredictor;	int m_nPointTransform;	int m_nSmoothing;	int m_nQuantize;	J_DITHER_MODE m_nDither;};#endif#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩精品欧美日韩精品一综合| 香港成人在线视频| 欧美精品成人一区二区三区四区| 狠狠色狠狠色合久久伊人| 亚洲观看高清完整版在线观看| 国产精品人人做人人爽人人添| 日韩一区二区三区av| 91蜜桃免费观看视频| 国产乱人伦偷精品视频免下载 | 亚洲精品国产无套在线观| 久久在线免费观看| 精品国产网站在线观看| 9191成人精品久久| 欧美艳星brazzers| 欧美日韩在线免费视频| av高清不卡在线| 成人高清免费在线播放| 高清国产一区二区三区| 日本sm残虐另类| 天堂va蜜桃一区二区三区漫画版| 国产一区二区三区免费观看| 国产精品久久三| 亚洲精品乱码久久久久久黑人 | 日韩精品中文字幕在线不卡尤物 | 欧美一区二区黄| 久久亚洲一级片| 亚洲精品伦理在线| 男人的j进女人的j一区| 成人做爰69片免费看网站| 99久久久国产精品免费蜜臀| 欧美日韩在线播放三区| 26uuu另类欧美| 一区二区三区免费在线观看| 久久99精品视频| 色噜噜狠狠色综合中国| 欧美r级在线观看| 亚洲免费视频中文字幕| 免费看日韩a级影片| 91视视频在线观看入口直接观看www | 免费久久99精品国产| 成人黄色国产精品网站大全在线免费观看 | 91在线看国产| 欧美tickle裸体挠脚心vk| 亚洲美女视频在线| 国产99久久精品| 日韩区在线观看| 亚洲综合在线第一页| 国产成人午夜高潮毛片| 欧美人妇做爰xxxⅹ性高电影| 国产欧美一区在线| 狂野欧美性猛交blacked| 欧美亚洲综合另类| 国产精品久久777777| 国产剧情av麻豆香蕉精品| 欧美二区三区的天堂| 国产精品久久久久影院老司| 激情伊人五月天久久综合| 欧美精品 日韩| 亚洲综合一二区| 97成人超碰视| 国产精品欧美一级免费| 色综合久久中文字幕综合网| 久久久久综合网| 久久精品国产秦先生| 欧美三级日韩在线| 亚洲精品国产第一综合99久久| 成人av在线资源网| 国产午夜精品久久| 国产精品亚洲午夜一区二区三区| 日韩欧美国产综合| 裸体在线国模精品偷拍| 欧美一区二区福利在线| 日韩成人伦理电影在线观看| 欧美日韩国产在线观看| 亚洲成人av福利| 欧美精品一二三| 日韩成人av影视| 日韩三区在线观看| 激情五月播播久久久精品| 精品少妇一区二区| 国产高清精品在线| 国产精品久久久久aaaa樱花| 99精品欧美一区二区蜜桃免费| 国产精品三级在线观看| 色综合天天综合网天天狠天天 | 免费观看日韩电影| 日韩女优电影在线观看| 国内欧美视频一区二区| 国产丝袜在线精品| av在线综合网| 亚洲国产精品一区二区久久恐怖片 | 偷拍一区二区三区| 91麻豆精品国产自产在线观看一区| 亚洲a一区二区| 欧美xxx久久| 成人涩涩免费视频| 亚洲麻豆国产自偷在线| 色悠悠久久综合| 午夜激情久久久| 久久久不卡影院| 色综合天天综合在线视频| 日韩中文字幕亚洲一区二区va在线| 91精品国产色综合久久不卡电影| 国产乱人伦偷精品视频免下载| 国产精品对白交换视频| 欧美日韩在线综合| 国产毛片精品视频| 亚洲蜜臀av乱码久久精品| 日韩欧美一级精品久久| 欧美精品乱码久久久久久| 国产精品资源在线| 一区二区在线电影| 久久久激情视频| 欧美色图免费看| 国产精品一区二区久久精品爱涩| 一区av在线播放| 久久久久久久精| 欧美日韩午夜精品| 国产成人综合在线观看| 性欧美疯狂xxxxbbbb| 久久久国际精品| 欧美精品xxxxbbbb| k8久久久一区二区三区| 激情文学综合网| 香蕉成人伊视频在线观看| 国产精品情趣视频| 欧美tickling挠脚心丨vk| 欧美色男人天堂| proumb性欧美在线观看| 韩国午夜理伦三级不卡影院| 亚洲成人免费看| 亚洲人成人一区二区在线观看| 精品国产污网站| 欧美精品一二三四| 欧美亚洲国产一卡| 一道本成人在线| 不卡一卡二卡三乱码免费网站| 久久机这里只有精品| 日韩精品欧美精品| 亚洲一区二区四区蜜桃| 中文字幕综合网| 国产精品拍天天在线| 国产免费成人在线视频| 精品国产乱码久久久久久闺蜜 | 一本大道久久a久久综合| 国产精品亚洲午夜一区二区三区 | 久久在线免费观看| 亚洲精品国产视频| 日韩美女久久久| **欧美大码日韩| 国产精品无人区| 欧美国产丝袜视频| 国产视频在线观看一区二区三区| 欧美tk—视频vk| 久久久久久久久久久电影| 久久欧美一区二区| 久久影视一区二区| 久久久精品蜜桃| 一色屋精品亚洲香蕉网站| 日韩理论电影院| 亚洲欧美日韩精品久久久久| 亚洲综合另类小说| 亚洲国产wwwccc36天堂| 日韩电影网1区2区| 激情综合色综合久久综合| 国产麻豆一精品一av一免费| 国产精品456| 不卡免费追剧大全电视剧网站| 99久久精品久久久久久清纯| 色综合激情五月| 欧美在线观看视频在线| 6080国产精品一区二区| 欧美成人福利视频| 国产精品素人一区二区| 亚洲精品自拍动漫在线| 视频一区二区中文字幕| 久久超碰97中文字幕| 不卡一卡二卡三乱码免费网站| 在线观看亚洲精品视频| 欧美欧美午夜aⅴ在线观看| 精品少妇一区二区三区| 亚洲视频一区在线| 日韩国产欧美在线播放| 国产成人综合自拍| 欧美视频三区在线播放| 精品国产1区2区3区| 亚洲美女少妇撒尿| 精彩视频一区二区| 91国偷自产一区二区使用方法| 日韩一区二区麻豆国产| 国产女主播一区| 偷偷要91色婷婷| 成人国产精品免费观看视频| 在线免费精品视频| 久久久天堂av| 午夜激情久久久| 91丝袜美女网| 国产欧美一区视频| 日韩精品一卡二卡三卡四卡无卡 | 亚洲视频资源在线|