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

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

?? gd.c

?? 大國補丁后的nessus2.2.8的源代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
       }       /* Many (perhaps most) of these colors will remain marked open. */       im->colorsTotal = gdMaxColors;       /*       **  Initialize the Compression routines       */       if (! ReadOK(fd,&c,1)) {               return;        }       if (LWZReadByte(fd, TRUE, c) < 0) {               return;       }       /*       **  If this is an "uninteresting picture" ignore it.       */       if (ignore) {               while (LWZReadByte(fd, FALSE, c) >= 0)                       ;               return;       }       while ((v = LWZReadByte(fd,FALSE,c)) >= 0 ) {               /* This how we recognize which colors are actually used. */               if (im->open[v]) {                       im->open[v] = 0;               }               gdImageSetPixel(im, xpos, ypos, v);               ++xpos;               if (xpos == len) {                       xpos = 0;                       if (interlace) {                               switch (pass) {                               case 0:                               case 1:                                       ypos += 8; break;                               case 2:                                       ypos += 4; break;                               case 3:                                       ypos += 2; break;                               }                               if (ypos >= height) {                                       ++pass;                                       switch (pass) {                                       case 1:                                               ypos = 4; break;                                       case 2:                                               ypos = 2; break;                                       case 3:                                               ypos = 1; break;                                       default:                                               goto fini;                                       }                               }                       } else {                               ++ypos;                       }               }               if (ypos >= height)                       break;       }fini:       if (LWZReadByte(fd,FALSE,c)>=0) {               /* Ignore extra */       }}void gdImageRectangle(gdImagePtr im, int x1, int y1, int x2, int y2, int color){	gdImageLine(im, x1, y1, x2, y1, color);			gdImageLine(im, x1, y2, x2, y2, color);			gdImageLine(im, x1, y1, x1, y2, color);	gdImageLine(im, x2, y1, x2, y2, color);}void gdImageFilledRectangle(gdImagePtr im, int x1, int y1, int x2, int y2, int color){	int x, y;	for (y=y1; (y<=y2); y++) {		for (x=x1; (x<=x2); x++) {			gdImageSetPixel(im, x, y, color);		}	}}void gdImageCopy(gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int w, int h){	int c;	int x, y;	int tox, toy;	int i;	int colorMap[gdMaxColors];	for (i=0; (i<gdMaxColors); i++) {		colorMap[i] = (-1);	}	toy = dstY;	for (y=srcY; (y < (srcY + h)); y++) {		tox = dstX;		for (x=srcX; (x < (srcX + w)); x++) {			int nc;			c = gdImageGetPixel(src, x, y);			/* Added 7/24/95: support transparent copies */			if (gdImageGetTransparent(src) == c) {				tox++;				continue;			}			/* Have we established a mapping for this color? */			if (colorMap[c] == (-1)) {				/* If it's the same image, mapping is trivial */				if (dst == src) {					nc = c;				} else { 					/* First look for an exact match */					nc = gdImageColorExact(dst,						src->red[c], src->green[c],						src->blue[c]);				}					if (nc == (-1)) {					/* No, so try to allocate it */					nc = gdImageColorAllocate(dst,						src->red[c], src->green[c],						src->blue[c]);					/* If we're out of colors, go for the						closest color */					if (nc == (-1)) {						nc = gdImageColorClosest(dst,							src->red[c], src->green[c],							src->blue[c]);					}				}				colorMap[c] = nc;			}			gdImageSetPixel(dst, tox, toy, colorMap[c]);			tox++;		}		toy++;	}}			void gdImageCopyResized(gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH){	int c;	int x, y;	int tox, toy;	int ydest;	int i;	int colorMap[gdMaxColors];	/* Stretch vectors */	int *stx;	int *sty;	/* We only need to use floating point to determine the correct		stretch vector for one line's worth. */	double accum;	stx = (int *) malloc(sizeof(int) * srcW);	sty = (int *) malloc(sizeof(int) * srcH);	accum = 0;	for (i=0; (i < srcW); i++) {		int got;		accum += (double)dstW/(double)srcW;		got = floor(accum);		stx[i] = got;		accum -= got;	}	accum = 0;	for (i=0; (i < srcH); i++) {		int got;		accum += (double)dstH/(double)srcH;		got = floor(accum);		sty[i] = got;		accum -= got;	}	for (i=0; (i<gdMaxColors); i++) {		colorMap[i] = (-1);	}	toy = dstY;	for (y=srcY; (y < (srcY + srcH)); y++) {		for (ydest=0; (ydest < sty[y-srcY]); ydest++) {			tox = dstX;			for (x=srcX; (x < (srcX + srcW)); x++) {				int nc;				if (!stx[x - srcX]) {					continue;				}				c = gdImageGetPixel(src, x, y);				/* Added 7/24/95: support transparent copies */				if (gdImageGetTransparent(src) == c) {					tox += stx[x-srcX];					continue;				}				/* Have we established a mapping for this color? */				if (colorMap[c] == (-1)) {					/* If it's the same image, mapping is trivial */					if (dst == src) {						nc = c;					} else { 						/* First look for an exact match */						nc = gdImageColorExact(dst,							src->red[c], src->green[c],							src->blue[c]);					}						if (nc == (-1)) {						/* No, so try to allocate it */						nc = gdImageColorAllocate(dst,							src->red[c], src->green[c],							src->blue[c]);						/* If we're out of colors, go for the							closest color */						if (nc == (-1)) {							nc = gdImageColorClosest(dst,								src->red[c], src->green[c],								src->blue[c]);						}					}					colorMap[c] = nc;				}				for (i=0; (i < stx[x - srcX]); i++) {					gdImageSetPixel(dst, tox, toy, colorMap[c]);					tox++;				}			}			toy++;		}	}	free(stx);	free(sty);}int gdGetWord(int *result, FILE *in){	int r;	r = getc(in);	if (r == EOF) {		return 0;	}	*result = r << 8;	r = getc(in);		if (r == EOF) {		return 0;	}	*result += r;	return 1;}void gdPutWord(int w, FILE *out){	putc((unsigned char)(w >> 8), out);	putc((unsigned char)(w & 0xFF), out);}int gdGetByte(int *result, FILE *in){	int r;	r = getc(in);	if (r == EOF) {		return 0;	}	*result = r;	return 1;}gdImagePtr gdImageCreateFromGd(FILE *in){	int sx, sy;	int x, y;	int i;	gdImagePtr im;	if (!gdGetWord(&sx, in)) {		goto fail1;	}	if (!gdGetWord(&sy, in)) {		goto fail1;	}	im = gdImageCreate(sx, sy);	if (!gdGetByte(&im->colorsTotal, in)) {		goto fail2;	}	if (!gdGetWord(&im->transparent, in)) {		goto fail2;	}	if (im->transparent == 257) {		im->transparent = (-1);	}	for (i=0; (i<gdMaxColors); i++) {		if (!gdGetByte(&im->red[i], in)) {			goto fail2;		}		if (!gdGetByte(&im->green[i], in)) {			goto fail2;		}		if (!gdGetByte(&im->blue[i], in)) {			goto fail2;		}	}		for (y=0; (y<sy); y++) {		for (x=0; (x<sx); x++) {				int ch;			ch = getc(in);			if (ch == EOF) {				gdImageDestroy(im);				return 0;			}			/* ROW-MAJOR IN GD 1.3 */			im->pixels[y][x] = ch;		}	}	return im;fail2:	gdImageDestroy(im);fail1:	return 0;}	void gdImageGd(gdImagePtr im, FILE *out){	int x, y;	int i;	int trans;	gdPutWord(im->sx, out);	gdPutWord(im->sy, out);	putc((unsigned char)im->colorsTotal, out);	trans = im->transparent;	if (trans == (-1)) {		trans = 257;	}		gdPutWord(trans, out);	for (i=0; (i<gdMaxColors); i++) {		putc((unsigned char)im->red[i], out);		putc((unsigned char)im->green[i], out);			putc((unsigned char)im->blue[i], out);		}	for (y=0; (y < im->sy); y++) {			for (x=0; (x < im->sx); x++) {				/* ROW-MAJOR IN GD 1.3 */			putc((unsigned char)im->pixels[y][x], out);		}	}}gdImagePtrgdImageCreateFromXbm(FILE *fd){	gdImagePtr im;		int bit;	int w, h;	int bytes;	int ch;	int i, x, y;	char *sp;	char s[161];	if (!fgets(s, 160, fd)) {		return 0;	}	sp = &s[0];	/* Skip #define */	sp = strchr(sp, ' ');	if (!sp) {		return 0;	}	/* Skip width label */	sp++;	sp = strchr(sp, ' ');	if (!sp) {		return 0;	}	/* Get width */	w = atoi(sp + 1);	if (!w) {		return 0;	}	if (!fgets(s, 160, fd)) {		return 0;	}	sp = s;	/* Skip #define */	sp = strchr(sp, ' ');	if (!sp) {		return 0;	}	/* Skip height label */	sp++;	sp = strchr(sp, ' ');	if (!sp) {		return 0;	}	/* Get height */	h = atoi(sp + 1);	if (!h) {		return 0;	}	/* Skip declaration line */	if (!fgets(s, 160, fd)) {		return 0;	}	bytes = (w * h / 8) + 1;	im = gdImageCreate(w, h);	gdImageColorAllocate(im, 255, 255, 255);	gdImageColorAllocate(im, 0, 0, 0);	x = 0;	y = 0;	for (i=0; (i < bytes); i++) {		char h[3];		int b;		/* Skip spaces, commas, CRs, 0x */		while(1) {			ch = getc(fd);			if (ch == EOF) {				goto fail;			}			if (ch == 'x') {				break;			}			}		/* Get hex value */		ch = getc(fd);		if (ch == EOF) {			goto fail;		}		h[0] = ch;		ch = getc(fd);		if (ch == EOF) {			goto fail;		}		h[1] = ch;		h[2] = '\0';		sscanf(h, "%x", &b);				for (bit = 1; (bit <= 128); (bit = bit << 1)) {			gdImageSetPixel(im, x++, y, (b & bit) ? 1 : 0);				if (x == im->sx) {				x = 0;				y++;				if (y == im->sy) {					return im;				}				/* Fix 8/8/95 */				break;			}		}	}	/* Shouldn't happen */	fprintf(stderr, "Error: bug in gdImageCreateFromXbm!\n");	return 0;fail:	gdImageDestroy(im);	return 0;}void gdImagePolygon(gdImagePtr im, gdPointPtr p, int n, int c){	int i;	int lx, ly;	if (!n) {		return;	}	lx = p->x;	ly = p->y;	gdImageLine(im, lx, ly, p[n-1].x, p[n-1].y, c);	for (i=1; (i < n); i++) {		p++;		gdImageLine(im, lx, ly, p->x, p->y, c);		lx = p->x;		ly = p->y;	}}		int gdCompareInt(const void *a, const void *b);	void gdImageFilledPolygon(gdImagePtr im, gdPointPtr p, int n, int c){	int i;	int y;	int y1, y2;	int ints;	if (!n) {		return;	}	if (!im->polyAllocated) {		im->polyInts = (int *) malloc(sizeof(int) * n);		im->polyAllocated = n;	}			if (im->polyAllocated < n) {		while (im->polyAllocated < n) {			im->polyAllocated *= 2;		}			im->polyInts = (int *) realloc(im->polyInts,			sizeof(int) * im->polyAllocated);	}	y1 = p[0].y;	y2 = p[0].y;	for (i=1; (i < n); i++) {		if (p[i].y < y1) {			y1 = p[i].y;		}		if (p[i].y > y2) {			y2 = p[i].y;		}	}	/* Fix in 1.3: count a vertex only once */	for (y=y1; (y < y2); y++) {		int interLast = 0;		int dirLast = 0;		int interFirst = 1;		ints = 0;		for (i=0; (i <= n); i++) {			int x1, x2;			int y1, y2;			int dir;			int ind1, ind2;			int lastInd1 = 0;			if ((i == n) || (!i)) {				ind1 = n-1;				ind2 = 0;			} else {				ind1 = i-1;				ind2 = i;			}			y1 = p[ind1].y;			y2 = p[ind2].y;			if (y1 < y2) {				y1 = p[ind1].y;				y2 = p[ind2].y;				x1 = p[ind1].x;				x2 = p[ind2].x;				dir = -1;			} else if (y1 > y2) {				y2 = p[ind1].y;				y1 = p[ind2].y;				x2 = p[ind1].x;				x1 = p[ind2].x;				dir = 1;			} else {				/* Horizontal; just draw it */				gdImageLine(im, 					p[ind1].x, y1, 					p[ind2].x, y1,					c);				continue;			}			if ((y >= y1) && (y <= y2)) {				int inter = 					(y-y1) * (x2-x1) / (y2-y1) + x1;				/* Only count intersections once					except at maxima and minima. Also, 					if two consecutive intersections are					endpoints of the same horizontal line					that is not at a maxima or minima,						discard the leftmost of the two. */				if (!interFirst) {					if ((p[ind1].y == p[lastInd1].y) &&						(p[ind1].x != p[lastInd1].x)) {						if (dir == dirLast) {							if (inter > interLast) {								/* Replace the old one */								im->polyInts[ints] = inter;							} else {								/* Discard this one */							}								continue;						}					}					if (inter == interLast) {						if (dir == dirLast) {							continue;						}					}				} 				if (i > 0) {					im->polyInts[ints++] = inter;				}				lastInd1 = i;				dirLast = dir;				interLast = inter;				interFirst = 0;			}		}		qsort(im->polyInts, ints, sizeof(int), gdCompareInt);		for (i=0; (i < (ints-1)); i+=2) {			gdImageLine(im, im->polyInts[i], y,				im->polyInts[i+1], y, c);		}	}}	int gdCompareInt(const void *a, const void *b){	return (*(const int *)a) - (*(const int *)b);}void gdImageSetStyle(gdImagePtr im, int *style, int noOfPixels){	if (im->style) {		free(im->style);	}	im->style = (int *) 		malloc(sizeof(int) * noOfPixels);	memcpy(im->style, style, sizeof(int) * noOfPixels);	im->styleLength = noOfPixels;	im->stylePos = 0;}void gdImageSetBrush(gdImagePtr im, gdImagePtr brush){	int i;	im->brush = brush;	for (i=0; (i < gdImageColorsTotal(brush)); i++) {		int index;		index = gdImageColorExact(im, 			gdImageRed(brush, i),			gdImageGreen(brush, i),			gdImageBlue(brush, i));		if (index == (-1)) {			index = gdImageColorAllocate(im,				gdImageRed(brush, i),				gdImageGreen(brush, i),				gdImageBlue(brush, i));			if (index == (-1)) {				index = gdImageColorClosest(im,					gdImageRed(brush, i),					gdImageGreen(brush, i),					gdImageBlue(brush, i));			}		}		im->brushColorMap[i] = index;	}}	void gdImageSetTile(gdImagePtr im, gdImagePtr tile){	int i;	im->tile = tile;	for (i=0; (i < gdImageColorsTotal(tile)); i++) {		int index;		index = gdImageColorExact(im, 			gdImageRed(tile, i),			gdImageGreen(tile, i),			gdImageBlue(tile, i));		if (index == (-1)) {			index = gdImageColorAllocate(im,				gdImageRed(tile, i),				gdImageGreen(tile, i),				gdImageBlue(tile, i));			if (index == (-1)) {				index = gdImageColorClosest(im,					gdImageRed(tile, i),					gdImageGreen(tile, i),					gdImageBlue(tile, i));			}		}		im->tileColorMap[i] = index;	}}void gdImageInterlace(gdImagePtr im, int interlaceArg){	im->interlace = interlaceArg;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
懂色一区二区三区免费观看| 精品99999| 亚洲黄色片在线观看| 不卡的看片网站| 国产精品狼人久久影院观看方式| 国产剧情一区在线| 国产日本一区二区| 91麻豆自制传媒国产之光| 一区二区三区欧美亚洲| 欧美日韩精品欧美日韩精品一| 亚洲成人资源在线| 欧美成人福利视频| 成人一区二区三区视频在线观看 | 中文字幕中文字幕一区| 91麻豆国产福利精品| 亚洲成人tv网| 日韩一区二区高清| 成人综合日日夜夜| 亚洲成av人片在线观看无码| 日韩欧美国产综合一区| 成人一二三区视频| 亚洲午夜一二三区视频| 亚洲精品在线免费观看视频| 成人免费看的视频| 亚洲1区2区3区4区| 国产亚洲va综合人人澡精品 | 国产精品福利av| 欧美视频日韩视频| 国内外成人在线视频| 亚洲美女偷拍久久| 日韩精品资源二区在线| 99久久精品免费精品国产| 午夜免费久久看| 中文字幕精品综合| 91 com成人网| 成人av动漫在线| 蜜桃av一区二区| 亚洲欧美日韩国产手机在线| 精品国产乱码久久久久久影片| 91在线视频免费观看| 久久国产精品一区二区| 亚洲精品日韩专区silk| 久久久精品2019中文字幕之3| 欧美性极品少妇| 岛国精品在线观看| 久久er精品视频| 亚洲高清一区二区三区| 国产精品女上位| 精品av久久707| 欧美日韩国产大片| 曰韩精品一区二区| 日韩精品一区二区三区swag| 91色porny在线视频| 国产精品综合久久| 蜜桃精品视频在线| 丝袜美腿亚洲一区二区图片| 亚洲黄色av一区| 国产精品嫩草99a| 久久精品这里都是精品| 日韩亚洲欧美成人一区| 在线观看国产精品网站| 成人avav影音| 国产成人在线观看免费网站| 久久99久久99| 美女视频网站黄色亚洲| 五月激情综合网| 亚洲一区二区欧美日韩| 亚洲天堂2014| 亚洲免费观看高清在线观看| 国产精品网站在线| 国产日韩欧美麻豆| 国产片一区二区| 久久精品一区二区三区不卡| 久久尤物电影视频在线观看| 91精品国产色综合久久ai换脸| 欧美日韩精品免费| 欧美日韩免费观看一区三区| 欧美无砖砖区免费| 欧美日韩一区二区三区在线| 在线亚洲一区二区| 欧美熟乱第一页| 欧美日韩一级片在线观看| 欧美探花视频资源| 欧美巨大另类极品videosbest| 欧美视频你懂的| 欧美一级欧美一级在线播放| 日韩欧美中文一区| 精品裸体舞一区二区三区| 久久亚洲精品国产精品紫薇| 久久久国产午夜精品| 国产女主播视频一区二区| 欧美国产丝袜视频| 综合在线观看色| 亚洲午夜一二三区视频| 日本美女一区二区| 国产黄色精品网站| a4yy欧美一区二区三区| 一本久久精品一区二区| 欧美色视频一区| 日韩欧美卡一卡二| 欧美国产一区二区在线观看| 亚洲激情一二三区| 美女网站色91| 99久久伊人精品| 欧美午夜精品一区二区蜜桃| 欧美国产激情二区三区| 国产精品日韩精品欧美在线| 亚洲一区二区不卡免费| 久久99国产精品麻豆| av一区二区久久| 884aa四虎影成人精品一区| 欧美www视频| 亚洲欧美激情视频在线观看一区二区三区 | 成人av网站在线| 欧美色图12p| 国产视频不卡一区| 亚洲一区二区欧美激情| 国产一区二区三区香蕉| 91片在线免费观看| 日韩免费视频一区二区| 亚洲欧美日韩国产综合| 精品一区二区三区蜜桃| 色久综合一二码| 久久―日本道色综合久久| 亚洲精品高清在线| 国产精品一区2区| 欧美另类变人与禽xxxxx| 中文无字幕一区二区三区 | 国产精品自拍一区| 91高清视频免费看| 国产亚洲精品资源在线26u| 亚洲成a人片在线不卡一二三区 | 亚洲精品免费播放| 激情综合五月天| 欧美日韩在线观看一区二区| 国产精品久久久久天堂| 免费欧美在线视频| 欧日韩精品视频| 国产精品久久久久毛片软件| 看片的网站亚洲| 精品视频一区三区九区| 亚洲日本电影在线| 高清不卡一区二区| 久久综合九色综合97婷婷| 亚洲成人动漫在线观看| 色综合色综合色综合| 国产区在线观看成人精品| 久久99日本精品| 欧美乱妇15p| 亚洲国产精品视频| 日本韩国欧美三级| 亚洲欧美在线aaa| 岛国av在线一区| 久久久亚洲高清| 久久精品国产第一区二区三区| 日本高清免费不卡视频| 亚洲欧美在线视频| 91在线视频免费观看| 国产女主播视频一区二区| 国产一区欧美二区| 精品少妇一区二区三区视频免付费 | 日韩精品欧美精品| 精品视频在线看| 一区二区视频在线| 91黄视频在线观看| 一区二区三区不卡视频在线观看| 99精品热视频| 亚洲日本va午夜在线影院| av一区二区三区四区| 亚洲乱码精品一二三四区日韩在线 | 日韩欧美第一区| 不卡一区二区三区四区| 久久99热国产| 亚洲欧美偷拍卡通变态| 一本大道久久a久久综合| 婷婷开心激情综合| 亚洲精品视频免费看| 久久色成人在线| 久久一留热品黄| 欧美午夜宅男影院| 国产精品一区二区在线播放| 日韩成人一级片| 91福利视频网站| 国产乱子伦视频一区二区三区| 中文字幕免费不卡在线| 中文字幕免费观看一区| 制服丝袜激情欧洲亚洲| 日韩西西人体444www| 色综合久久久久综合| 成人综合婷婷国产精品久久免费| 国产一区二区在线视频| 麻豆精品视频在线| 欧美激情综合五月色丁香小说| 欧美精品777| 亚洲免费电影在线| 国产精品视频一二三区| 久久精品视频免费观看| 国产精品视频免费看| www.亚洲精品| 亚洲18色成人|