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

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

?? dev2gif.c

?? 一款最完整的工業組態軟源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*****************************************************************************
*   "Gif-Lib" - Yet another gif library.				     *
*									     *
* Written by:  Gershon Elber			IBM PC Ver 1.1,	Jun. 1989    *
******************************************************************************
* Module to dump graphic devices into a GIF file. Current supported devices: *
* 1. EGA, VGA, SVGA (800x600), Hercules on the IBM PC (#define __MSDOS__).   *
* 2. SGI 4D Irix using gl library (#define SGI_GL__).			     *
* 3. X11 using libX.a (#define __X11__).				     *
* 4. (2 & 3 have been changed to HAVE_GL_S and HAVE_LIBX11 and should be set
* by the configure script.)
******************************************************************************
* History:								     *
* 22 Jun 89 - Version 1.0 by Gershon Elber.				     *
* 12 Aug 90 - Version 1.1 by Gershon Elber (added devices).		     *
*****************************************************************************/

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#ifdef __MSDOS__
#include <dos.h>
#include <alloc.h>
#include <graphics.h>
#endif /* __MSDOS__ */

#ifdef HAVE_LIBGL_S
#include <gl/gl.h>
#endif /* HAVE_LIBGL_S */

#ifdef HAVE_LIBX11
#include <X11/Xlib.h>
#endif /* HAVE_LIBX11 */

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "gif_lib.h"

#define PROGRAM_NAME	"GIF_LIBRARY"

#define SVGA_SPECIAL	999		       /* 800 by 600 Super VGA mode. */

static int GraphDriver = -1,       /* Device parameters - reasonable values. */
	   GraphMode = -1,
	   ScreenColorBits = 1;
static long ScreenXMax = 100,
	    ScreenYMax = 100;
static unsigned int ScreenBase;

#ifdef SYSV
static char *VersionStr =
        "Gif library module,\t\tEric S. Raymond\n\
	(C) Copyright 1997 Eric S. Raymond\n";
#else
static char *VersionStr =
	PROGRAM_NAME
	"	IBMPC "
	GIF_LIB_VERSION
	"	Eric S. Raymond,	"
	__DATE__ ",   " __TIME__ "\n"
	"(C) Copyright 1997 Eric S. Raymond\n";
#endif /* SYSV */

#if defined(HAVE_LIBGL_S) || defined(HAVE_LIBX11)
    GifByteType *GlblGifBuffer = NULL, *GlblGifBufferPtr = NULL;
#endif /* HAVE_LIBGL_S || HAVE_LIBX11 */

#ifdef HAVE_LIBGL_S
static int QuantizeRGBBuffer(int Width, int Height, long *RGBBuffer,
			     GifColorType *ColorMap, GifByteType *GIFBuffer);
#endif /* HAVE_LIBGL_S */

static void GetScanLine(GifPixelType *ScanLine, int Y);
static int HandleGifError(GifFileType *GifFile);

/******************************************************************************
* Dump the given Device, into given File as GIF format:			      *
* Return 0 on success, -1 if device not supported, or GIF-LIB error number.   *
* Device is selected via the ReqGraphDriver. Device mode is selected via      *
* ReqGraphMode1/2 as follows:						      *
* 1. IBM PC Hercules card: HERCMONO (one mode only) in ReqGraphMode1,	      *
*    ReqGraphMode2/3 are ignored.					      *
* 2. IBM PC EGA card: EGALO/EGAHI in ReqGraphMode1,			      *
*    ReqGraphMode2/3 are ignored.					      *
* 3. IBM PC EGA64 card: EGA64LO/EGA64HI in ReqGraphMode1,		      *
*    ReqGraphMode2/3 are ignored.					      *
* 4. IBM PC EGAMONO card: EGAMONOHI (one mode only) in ReqGraphMode1,	      *
*    ReqGraphMode2/3 are ignored.					      *
* 5. IBM PC VGA card: VGALO/VGAMED/VGAHI in ReqGraphMode1,		      *
*    ReqGraphMode2/3 are ignored.					      *
* 6. IBM PC SVGA card: ReqGraphMode1/2 are both ignored. Fixed mode (800x600  *
*    16 colors) is assumed.						      *
* 7. SGI 4D using GL: window id to dump (as returned by winget()) in	      *
*    ReqGraphMode1, ReqGraphMode2/3 are ignored.			      *
* 8. X11: Window id in ReqGraphMode1, Display id in ReqGraphMode2, Color      *
*    map id in  ReqGraphMode3.						      *
******************************************************************************/
int DumpScreen2Gif(const char *FileName, int ReqGraphDriver,
					 int ReqGraphMode1,
	       				 int ReqGraphMode2,
	       				 int ReqGraphMode3)
{
    int i;
    GifPixelType *ScanLine;
    GifFileType *GifFile;
    ColorMapObject *ColorMap = NULL;
#ifdef __MSDOS__
    static GifColorType MonoChromeColorMap[] = {
    	{ 0, 0, 0 },
    	{ 255, 255, 255 }
    };
    /* I have no idea what default EGA64 (4 colors) should be (I guessed...).*/
    static GifColorType EGA64ColorMap[] = {
    	{   0,   0,   0 },   /* 0. Black */
    	{ 255,   0,   0 },   /* 1. Red */
    	{   0, 255,   0 },   /* 2. Green */
    	{   0,   0, 255 },   /* 3. Blue */
    };
    static GifColorType EGAColorMap[] = {
    	{   0,   0,   0 },   /* 0. Black */
    	{   0,   0, 170 },   /* 1. Blue */
    	{   0, 170,   0 },   /* 2. Green */
    	{   0, 170, 170 },   /* 3. Cyan */
    	{ 170,   0,   0 },   /* 4. Red */
    	{ 170,   0, 170 },   /* 5. Magenta */
    	{ 170, 170,   0 },   /* 6. Brown */
    	{ 170, 170, 170 },   /* 7. LightGray */
    	{  85,  85,  85 },   /* 8. DarkGray */
    	{  85,  85, 255 },   /* 9. LightBlue */
    	{  85, 255,  85 },   /* 10. LightGreen */
    	{  85, 255, 255 },   /* 11. LightCyan */
    	{ 255,  85,  85 },   /* 12. LightRed */
    	{ 255,  85, 255 },   /* 13. LightMagenta */
    	{ 255, 255,  85 },   /* 14. Yellow */
    	{ 255, 255, 255 },   /* 15. White */
    };
#endif /* __MSDOS__ */
#if defined(HAVE_LIBGL_S) || defined(HAVE_LIBX11)
    long *RGBBuffer;
    GifColorType ColorMap256[256];
#endif /* HAVE_LIBGL_S || HAVE_LIBX11 */
#ifdef HAVE_LIBX11
    XImage *XImg;
    unsigned long XPixel;
    XColor XColorTable[256];			   /* Up to 256 colors in X. */
    XWindowAttributes WinAttr;
#endif /* HAVE_LIBX11 */

    switch (ReqGraphDriver) {		 /* Return on non supported screens. */
#ifdef __MSDOS__
        case HERCMONO:
	    ScreenXMax = 720;
	    ScreenYMax = 350;
	    ScreenColorBits = 1;
	    ScreenBase = 0xb000;
	    ColorMap = MakeMapObject(2, MonoChromeColorMap);
	    break;
	case EGA:
	    switch (ReqGraphMode1) {
    	        case EGALO:
		    ScreenYMax = 200;
		    break;
    	        case EGAHI:
		    ScreenYMax = 350;
		    break;
		default:
    	            return -1;
	    }
	    ScreenXMax = 640;
	    ScreenColorBits = 4;
	    ScreenBase = 0xa000;
	    ColorMap = MakeMapObject(16, EGAColorMap);
	    break;
	case EGA64:
	    switch (ReqGraphMode1) {
    	        case EGA64LO:
		    ScreenYMax = 200;
		    break;
    	        case EGA64HI:
		    ScreenYMax = 350;
		    break;
		default:
    	            return -1;
	    }
	    ScreenXMax = 640;
	    ScreenColorBits = 2;
	    ScreenBase = 0xa000;
	    ColorMap = MakeMapObject(4, EGA64ColorMap);
	    break;
	case EGAMONO:
	    switch (ReqGraphMode1) {
    	        case EGAMONOHI:
		    ScreenYMax = 350;
		    break;
		default:
    	            return -1;
	    }
	    ScreenXMax = 640;
	    ScreenColorBits = 1;
	    ScreenBase = 0xa000;
	    ColorMap = MakeMapObject(2, MonoChromeColorMap);
	    break;
	case VGA:
	    switch (ReqGraphMode1) {
    	        case VGALO:
		    ScreenYMax = 200;
		    break;
    	        case VGAMED:
		    ScreenYMax = 350;
		    break;
    	        case VGAHI:
		    ScreenYMax = 480;
		    break;
		default:
    	            return -1;
	    }
	    ScreenXMax = 640;
	    ScreenColorBits = 4;
	    ScreenBase = 0xa000;
	    ColorMap = MakeMapObject(16, EGAColorMap);
	    break;
        case SVGA_SPECIAL:
	    ScreenXMax = 800;
	    ScreenYMax = 600;
	    ScreenColorBits = 4;
	    ScreenBase = 0xa000;
	    ColorMap = MakeMapObject(16, EGAColorMap);
	    break;
#endif /* __MSDOS__ */
#ifdef HAVE_LIBGL_S
	case GIF_DUMP_SGI_WINDOW:
	    winset(ReqGraphMode1);        /* Select window as active window. */
	    getsize(&ScreenXMax, &ScreenYMax);

	    RGBBuffer = (long *) malloc(sizeof(long) * ScreenXMax * ScreenYMax);
	    readsource(SRC_FRONT);
	    if (lrectread((short) 0,
			  (short) 0,
			  (short) (ScreenXMax - 1),
			  (short) (ScreenYMax - 1), RGBBuffer) !=
		ScreenXMax * ScreenYMax) {		        /* Get data. */
		free(RGBBuffer);
		return -1;
	    }
	    GlblGifBuffer = (GifByteType *) malloc(sizeof(GifByteType) *
						ScreenXMax * ScreenYMax);
	    i = QuantizeRGBBuffer(ScreenXMax, ScreenYMax, RGBBuffer,
				  ColorMap256, GlblGifBuffer);
	    /* Find minimum color map size to hold all quantized colors. */
	    for	(ScreenColorBits = 1;
		 (1 << ScreenColorBits) < i && ScreenColorBits < 8;
		 ScreenColorBits++);

	    /* Start to dump with top line as GIF expects it. */
	    GlblGifBufferPtr = GlblGifBuffer + ScreenXMax * (ScreenYMax - 1);
	    ColorMap = MakeMapObject(256, ColorMap256);
	    free(RGBBuffer);
	    break;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一区二区欧美激情| 精品久久久久久久久久久久包黑料| 免费观看日韩av| 三级影片在线观看欧美日韩一区二区 | 视频一区视频二区在线观看| 亚洲女性喷水在线观看一区| 中文文精品字幕一区二区| 久久综合色综合88| 欧美大片一区二区三区| 制服.丝袜.亚洲.中文.综合| 精品婷婷伊人一区三区三| 精品写真视频在线观看| 依依成人精品视频| 在线观看国产91| 国产精品一区在线观看乱码| 久久久亚洲综合| 欧美性生活影院| 国产成人综合自拍| 一区二区三区日韩| 国产午夜精品久久久久久免费视| 欧美日韩国产另类不卡| 国产成人av电影在线| 五月婷婷激情综合网| 中文字幕欧美日本乱码一线二线| 欧美熟乱第一页| 欧美性色综合网| 岛国一区二区在线观看| 国产91精品免费| 9l国产精品久久久久麻豆| 在线日韩av片| 欧美日韩中文字幕一区| 精品剧情在线观看| 欧美电影免费观看高清完整版在线| 91在线观看成人| 亚洲自拍偷拍综合| 综合电影一区二区三区 | 正在播放一区二区| 国产一区在线观看麻豆| 国产美女精品一区二区三区| www.日韩av| 色成人在线视频| 欧美日韩国产片| 国产欧美一区二区精品秋霞影院| 久久久久久影视| 99视频精品在线| 精品一区免费av| 国产老妇另类xxxxx| 精品影院一区二区久久久| 捆绑紧缚一区二区三区视频| 五月天视频一区| 国产精品国产三级国产专播品爱网| 国产亚洲欧美激情| 26uuu久久综合| 日本不卡视频在线| 精品国产91九色蝌蚪| 99re在线精品| 色88888久久久久久影院野外| 欧美色爱综合网| 久久综合资源网| 樱桃视频在线观看一区| 免费黄网站欧美| 97se亚洲国产综合自在线| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 欧美一区二区成人6969| 国产免费成人在线视频| 一区二区激情小说| 激情欧美一区二区三区在线观看| 波波电影院一区二区三区| 成人免费视频网站在线观看| 欧美精品第1页| 国产精品久久看| 午夜精品一区二区三区免费视频| 国产寡妇亲子伦一区二区| 欧美性猛交xxxx黑人交| 欧美精品一区二区久久婷婷| 亚洲精品国产品国语在线app| 激情文学综合插| 欧美日韩亚洲丝袜制服| 国产精品免费视频网站| 蜜桃av一区二区在线观看 | 国产毛片精品视频| 欧美色欧美亚洲另类二区| 精品国产一区二区三区久久久蜜月| 一区二区三区高清不卡| 成人手机电影网| 欧美成人一区二区| 青草国产精品久久久久久| 色综合夜色一区| 国产校园另类小说区| 精品一区二区免费看| 欧美日韩国产一级| 一区二区三区在线播放| 99精品欧美一区二区蜜桃免费| 久久综合色播五月| 日本不卡的三区四区五区| 欧美日韩在线综合| 中文字幕一区免费在线观看| 精品对白一区国产伦| 国产精品伦一区二区三级视频| 久久不见久久见免费视频1| 欧美日本精品一区二区三区| 亚洲欧美一区二区三区国产精品| 国产一区二区精品久久91| 8v天堂国产在线一区二区| 亚洲黄色片在线观看| 丝瓜av网站精品一区二区| 欧美在线免费播放| 视频一区中文字幕国产| 日韩久久久精品| www.亚洲国产| 亚洲电影中文字幕在线观看| 欧美午夜视频网站| 午夜电影久久久| 欧美日韩国产综合一区二区| 日韩在线a电影| 久久伊99综合婷婷久久伊| 色8久久精品久久久久久蜜| 久久精品国产久精国产爱| 亚洲乱码国产乱码精品精可以看| 日韩视频免费观看高清完整版在线观看 | 国产精品无码永久免费888| 国产成人av福利| 国产日韩欧美麻豆| 欧美丰满一区二区免费视频| 成人综合婷婷国产精品久久蜜臀| 99久久综合国产精品| 欧美精品一区二区三区视频| 国产乱码精品一区二区三区五月婷| 欧洲av在线精品| 天涯成人国产亚洲精品一区av| 日韩一区二区三区电影在线观看| 精品一区免费av| 中文字幕一区二区在线播放| 欧美日韩一区二区三区四区五区| 琪琪一区二区三区| 国产精品美日韩| 一区二区三区免费观看| 日韩福利视频导航| 亚洲大片在线观看| 亚洲成人av在线电影| 亚洲精品自拍动漫在线| 国产精品黄色在线观看| 26uuu精品一区二区在线观看| 欧美一卡二卡三卡四卡| 欧美久久婷婷综合色| 欧美久久一二区| 日韩一本二本av| 亚洲日本va午夜在线影院| www.色精品| 日韩av一级电影| 3d动漫精品啪啪1区2区免费| 成人综合在线网站| 天堂资源在线中文精品| 在线看不卡av| 国产综合久久久久影院| 一区二区久久久久久| 欧美精品一区二| 色94色欧美sute亚洲线路一ni| 麻豆91精品91久久久的内涵| 亚洲另类春色国产| 国产午夜精品一区二区三区嫩草 | 99久久精品一区二区| 日韩黄色在线观看| 国产精品国产三级国产有无不卡| 日韩欧美色综合网站| 色婷婷久久久久swag精品| 国产露脸91国语对白| 石原莉奈一区二区三区在线观看| 国产精品不卡在线| 日韩精品一区二区三区swag | 日韩专区在线视频| 国产欧美日韩精品在线| 在线观看av不卡| 成人视屏免费看| 日韩av电影免费观看高清完整版 | 夜夜精品视频一区二区| 欧美成va人片在线观看| 欧洲亚洲精品在线| 高清av一区二区| 日韩成人伦理电影在线观看| 国产精品久久久一本精品| 日韩一区二区三区电影在线观看| 99riav久久精品riav| 午夜免费久久看| 一个色妞综合视频在线观看| 久久久www成人免费无遮挡大片| 欧美午夜电影网| 色94色欧美sute亚洲线路一久| 国产精品18久久久久久久网站| 亚洲欧美电影一区二区| 日韩欧美黄色影院| 欧美一级淫片007| 欧美专区在线观看一区| 不卡av免费在线观看| 国产精品亚洲一区二区三区妖精 | 国产乱码精品一区二区三区忘忧草 | 中文字幕制服丝袜一区二区三区| 亚洲在线观看免费视频| 天天影视色香欲综合网老头| 国产91精品一区二区麻豆网站 |