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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? dev2gif.c

?? 一款最完整的工業(yè)組態(tài)軟源代碼
?? 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;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品日产卡一卡二卡麻豆| 国产婷婷一区二区| 亚洲国产sm捆绑调教视频 | 亚洲福利视频一区| 午夜视频在线观看一区二区三区| 日本精品一级二级| 亚洲美女淫视频| 色香蕉成人二区免费| 亚洲婷婷国产精品电影人久久| av亚洲精华国产精华精华| 国产精品污污网站在线观看| 成人中文字幕在线| 国产精品剧情在线亚洲| 成人app在线观看| 欧美精品第1页| 国产精品你懂的在线欣赏| 国产a区久久久| 国产精品的网站| 99国产欧美另类久久久精品| 亚洲桃色在线一区| 色8久久精品久久久久久蜜| 一区二区三区精品久久久| 在线观看日韩毛片| 亚洲成人av中文| 91精品国产欧美日韩| 国产精品久久影院| 秋霞午夜av一区二区三区| 日韩精品综合一本久道在线视频| 精品在线播放免费| 国产日韩欧美精品一区| 成人亚洲精品久久久久软件| 国产精品女人毛片| 欧美性videosxxxxx| 五月婷婷久久综合| 精品久久人人做人人爰| 粉嫩av一区二区三区在线播放 | 精品一区二区三区在线播放| 久久精品视频在线免费观看| 成人av电影在线播放| 一区二区三区四区在线免费观看| 欧美剧在线免费观看网站| 麻豆国产精品777777在线| 久久精品欧美一区二区三区麻豆| 99久久免费视频.com| 亚洲国产日韩精品| 精品国产成人系列| av资源网一区| 天天亚洲美女在线视频| 久久久久九九视频| 色88888久久久久久影院按摩| 日韩不卡手机在线v区| 久久综合九色欧美综合狠狠| 99久久精品免费看| 石原莉奈一区二区三区在线观看| 久久久久久免费网| 91高清视频在线| 久久国产精品无码网站| 国产精品第四页| 欧美一级一级性生活免费录像| 国产成人日日夜夜| 亚洲第一电影网| 国产亚洲一区字幕| 九九国产精品视频| 欧美一级片在线| 99这里只有精品| 日本aⅴ精品一区二区三区 | 99精品1区2区| 蜜臀va亚洲va欧美va天堂| 久久综合久久鬼色| 欧美性大战久久| 国产大片一区二区| 日韩国产精品91| 中文字幕亚洲在| 欧美精品一区二区三| 欧美午夜精品久久久久久超碰 | 久久精品亚洲麻豆av一区二区| 欧美亚洲国产bt| 国产成人精品免费一区二区| 婷婷久久综合九色综合绿巨人 | 久久99精品国产91久久来源| 亚洲欧洲无码一区二区三区| 欧美一区二区三区精品| 99热精品国产| 久久99精品国产麻豆婷婷| 久久一区二区三区国产精品| 欧美少妇性性性| 成人性生交大片免费看视频在线| 午夜精品福利一区二区三区av| 国产精品视频yy9299一区| 日韩欧美亚洲国产另类| 在线观看视频一区| www.视频一区| 国产成人自拍在线| 免费在线看成人av| 亚洲va欧美va人人爽| 亚洲人成精品久久久久| 久久精品视频免费| 日韩欧美在线综合网| 欧美三电影在线| 一本大道av伊人久久综合| 福利一区在线观看| 激情综合色播五月| 日韩中文字幕1| 亚洲国产精品久久人人爱蜜臀| 国产精品免费久久| 国产欧美日韩三区| 26uuu国产在线精品一区二区| 欧美日韩1区2区| 欧美中文一区二区三区| 97精品电影院| 成人18精品视频| 成人深夜视频在线观看| 国产一区二区在线视频| 精品中文字幕一区二区小辣椒| 婷婷中文字幕综合| 午夜电影网亚洲视频| 亚洲国产精品视频| 亚洲自拍偷拍综合| 亚洲激情五月婷婷| 亚洲日本va午夜在线电影| 中文一区二区在线观看 | 欧美一区二区人人喊爽| 欧美日韩国产大片| 欧美群妇大交群的观看方式| 欧美视频在线播放| 欧美日精品一区视频| 欧美精品亚洲二区| 欧美日韩久久不卡| 欧美日韩精品电影| 91精品国产综合久久久久久久| 欧美精品丝袜中出| 欧美一区二区三区四区在线观看| 91精品国产综合久久国产大片| 91精品国产色综合久久| 欧美一级电影网站| 日韩欧美国产wwwww| 99久久亚洲一区二区三区青草| 99免费精品视频| 色视频一区二区| 欧美专区日韩专区| 91精品国产品国语在线不卡| 成人激情免费视频| 99re成人精品视频| 欧美中文字幕一区| 欧美一级片在线观看| 久久久久久久久99精品| 国产精品乱子久久久久| 亚洲精品高清在线| 亚洲成av人片| 乱一区二区av| 成人性色生活片| 欧洲精品中文字幕| 日韩视频永久免费| 国产欧美日韩久久| 亚洲精品中文在线观看| 五月天国产精品| 激情综合网天天干| 99精品视频一区二区三区| 91福利资源站| 日韩一级免费观看| 久久久另类综合| 有码一区二区三区| 麻豆精品在线播放| 成人av影视在线观看| 欧美性xxxxxxxx| 久久综合九色综合欧美亚洲| 国产精品乱码人人做人人爱 | 亚洲欧洲另类国产综合| 色天使色偷偷av一区二区| 欧美三级一区二区| 国产欧美一区二区精品性 | 久久只精品国产| 国产精品国产三级国产有无不卡 | 亚洲一区二区视频| 日本欧美一区二区在线观看| 久久精品国产77777蜜臀| 成人激情免费视频| 欧美视频在线一区| 欧美电影精品一区二区 | 日韩一区二区在线播放| 国产丝袜美腿一区二区三区| 综合电影一区二区三区 | 成人亚洲精品久久久久软件| 91成人在线观看喷潮| 欧美日韩久久久一区| 日本一区二区三区四区在线视频| 亚洲欧美日韩在线| 美脚の诱脚舐め脚责91| 99精品国产一区二区三区不卡 | 国产.欧美.日韩| 在线免费观看视频一区| 久久一留热品黄| 亚洲精品老司机| 蜜臀av一区二区在线免费观看 | 国产一区二区三区四区在线观看| 成人一区二区三区视频| 欧美久久高跟鞋激| 国产精品麻豆欧美日韩ww| 亚洲成精国产精品女| 国产精品456|