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

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

?? g2_gd.c

?? RNA二級結構預測程序
?? C
字號:
/*******************************************************************************  Copyright (C) 1998-2001  Ljubomir Milanovic & Horst Wagner**  This file is part of the g2 library****  This library is free software; you can redistribute it and/or**  modify it under the terms of the GNU Lesser General Public**  License as published by the Free Software Foundation; either**  version 2.1 of the License, or (at your option) any later version.****  This library is distributed in the hope that it will be useful,**  but WITHOUT ANY WARRANTY; without even the implied warranty of**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU**  Lesser General Public License for more details.****  You should have received a copy of the GNU Lesser General Public**  License along with this library; if not, write to the Free Software**  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA******************************************************************************/#include <stdio.h>#include <stdlib.h>#include <math.h>#include "g2.h"#include "g2_device.h"#include "g2_util.h"#include "g2_config.h"#include "g2_gd_P.h"#include "g2_gd.h"#define PDP ((struct g2_gd_STRUCT *)pdp)#include "g2_gd_funix.h"#ifndef PI#define PI 3.14159265358979323846#endif /* PI *//** * \ingroup physdev * \defgroup GD GD *//** * * Create a GD device. * * \param filename output file name * \param width width * \param height height * \param gd_type file type, see ::g2_gd_type * * \return physical device id * * \ingroup GD */int  g2_open_gd(const char *filename, int width, int height, enum g2_gd_type gd_type){    int pid=-1;    g2_gd_STRUCT *pdp;        pdp = (g2_gd_STRUCT *)malloc(sizeof(g2_gd_STRUCT));    pdp->width = width;    pdp->height = height;    pdp->gd_type = gd_type;    pdp->im = gdImageCreate(width,height);    pdp->f = fopen(filename,"wb");    pdp->NoOfInks = 0;    pdp->BackCol = 0;	    pid = g2_register_physical_device(pid, pdp,				      g2_IntCoor, g2_gd_funix,				      1.0, -1.0,				      0.0, height-1);    g2_gd_Clear(pid,pdp);    g2_set_line_width(pid, 0.0);    g2_set_font_size(pid, 12.0);    g2_allocate_basic_colors(pid);    g2_pen(pid, 1);    	    return pid;}int g2_gd_Alloc_Basic(int pid, void *pdp)	{	int icol;	for (icol=0;icol<32;icol++)		gdImageColorAllocate(PDP->im,g2_Basic_Colors[icol][0]/256,g2_Basic_Colors[icol][1]/256,g2_Basic_Colors[icol][2]/256);	PDP->NoOfInks = 32;	return 0;	}int g2_gd_Clear(int pid, void *pdp)	{    gdImageFilledRectangle(PDP->im, 0, 0, PDP->width, PDP->height, PDP->BackCol);	return 0;    }int g2_gd_Save(int pid, void *pdp)	{	if (PDP->gd_type == g2_gd_png)		gdImagePng(PDP->im,PDP->f);	else if (PDP->gd_type == g2_gd_jpeg)			gdImageJpeg(PDP->im,PDP->f,-1);	fflush(PDP->f);	rewind(PDP->f);	return 0;	}int g2_gd_Delete(int pid, void *pdp)	{	g2_gd_Save(pid,pdp);	fclose(PDP->f);	gdImageDestroy(PDP->im);	free(PDP);	return 0;    }int g2_gd_Flush(int pid, void *pdp)	{	return 0;    }int g2_gd_Pen(int pid, void *pdp, int color)	{	PDP->CurCol = color;	return 0;    }int g2_gd_Ink(int pid, void *pdp, double red, double green, double blue)	{	if(PDP->NoOfInks == 256)		return -1;	else		PDP->NoOfInks++;	return gdImageColorAllocate(PDP->im,(int)(255*red),(int)(255*green),(int)(255*blue));	}int g2_gd_ClearPalette(int pid, void *pdp)	{	int i;	for (i=0;i<PDP->NoOfInks;i++)		gdImageColorDeallocate(PDP->im,i);	PDP->NoOfInks = 0;	return 0;    }int g2_gd_ResetPalette(int pid, void *pdp)	{	g2_gd_ClearPalette(pid,pdp);	g2_gd_Alloc_Basic(pid,pdp);    return 0;	}int g2_gd_SetBackground(int pid, void *pdp, int color)	{	PDP->BackCol = color;	return 0;    }int g2_gd_SetLineWidth(int pid, void *pdp, int w)	{	PDP->LineWidth = w;	return 0;        }/*	  {	  if (PDP->brush != NULL)	    {            gdImageDestroy(PDP->brush);	    }	  PDP->brush = gdImageCreate(w,w);	  gdImageColorTransparent(PDP->brush,0);	  gdImageColorAllocate(PDP->brush,0,0,0);	  gdImageColorAllocate(PDP->brush,			 gdImageRed(PDP->im,PDP->CurCol),			 gdImageGreen(PDP->im,PDP->CurCol),			 gdImageBlue(PDP->im,PDP->CurCol));	  gdImageArc(PDP->brush, w/2, w/2, w/2,w/2, 0, 360, 1);	  gdImageFill(PDP->brush,w/2,w/2,1);          gdImageSetBrush(PDP->im, PDP->brush);	  PDP->OldCol = PDP->CurCol;	  PDP->CurCol = gdBrushed;	  }	else	  {	  PDP->CurCol = PDP->OldCol;	  }	return 0;    }*/     int g2_gd_SetDash(int pid, void *pdp, int n, char *data)	{	return 0;    }int g2_gd_SetDashX(int pid, void *pdp, int N, double *dashes)	{	return 0;    }int g2_gd_SetFontSize(int pid, void *pdp, int size)	{	if (size <=10)		PDP->FontSize = gdFontTiny;	else if (size <=12) 		PDP->FontSize = gdFontSmall;	else if (size <=13) 		PDP->FontSize = gdFontMediumBold;	else if (size <=15) 		PDP->FontSize = gdFontLarge;	else  		PDP->FontSize = gdFontGiant;	return 0;    }int g2_gd_Plot(int pid, void *pdp, int x, int y)	{	gdImageSetPixel(PDP->im, x, y, PDP->CurCol);	return 0;    }int g2_gd_Line(int pid, void *pdp, int x1, int y1, int x2, int y2)	{	if (PDP->LineWidth <= 1)	  gdImageLine(PDP->im, x1, y1, x2, y2, PDP->CurCol);	else	  {	  float dx,dy,l;	  gdPoint points[4];	  dx = -(float)(y2-y1);	  dy =  (float)(x2-x1);	  l  =  (float)(PDP->LineWidth/sqrt(dy*dy+dx*dx)/2.);	  dx =  dx*l;	  dy =  dy*l;	  points[0].x = (int)(x1+dx);      points[0].y = (int)(y1+dy);      points[1].x = (int)(x1-dx);      points[1].y = (int)(y1-dy);      points[2].x = (int)(x2-dx);      points[2].y = (int)(y2-dy);      points[3].x = (int)(x2+dx);      points[3].y = (int)(y2+dy);	  gdImageFilledPolygon(PDP->im,points,4,PDP->CurCol);	  }	return 0;    }int g2_gd_PolyLine(int pid, void *pdp, int N, int *points)	{	return 0;    }int g2_gd_Triangle(int pid, void *pdp, int x1, int y1,		 int x2, int y2,		 int x3, int y3)	{	return 0;    }int g2_gd_FilledTriangle(int pid, void *pdp, int x1, int y1,		       int x2, int y2,		       int x3, int y3)	{	return 0;    }int g2_gd_Rectangle(int pid, void *pdp, int x, int y, int x2, int y2)	{    gdImageRectangle(PDP->im, x, y, x2, y2, PDP->CurCol);	return 0;    }int g2_gd_FilledRectangle(int pid, void *pdp, int x, int y, int x2, int y2)	{    gdImageFilledRectangle(PDP->im, x, y, x2, y2, PDP->CurCol);	return 0;	}int g2_gd_Polygon(int pid, void *pdp, int N, int *points)	{	return 0;    }int g2_gd_FilledPolygon(int pid, void *pdp, int N, int *points)	{	gdPoint *GIFPolygon;	int i;	GIFPolygon = (gdPoint *)malloc(N*sizeof(gdPoint));	for (i=0;i<N;i++)		{		GIFPolygon[i].x = points[2*i];		GIFPolygon[i].y = points[2*i+1];		}	gdImageFilledPolygon(PDP->im,GIFPolygon,N,PDP->CurCol);	free(GIFPolygon);	return 0;    }int g2_gd_Circle(int pid, void *pdp, int x, int y, int r)	{	gdImageArc(PDP->im, (int)x, (int)y, (int)r, (int)r, 0, 360, PDP->CurCol);	return 0;    }int g2_gd_FilledCircle(int pid, void *pdp, int x, int y, int r)	{	return 0;    }int g2_gd_Ellipse(int pid, void *pdp, int x, int y, int r1, int r2)	{	return 0;    }int g2_gd_FilledEllipse(int pid, void *pdp, int x, int y, int r1, int r2)	{	return 0;	}int g2_gd_Arc(int pid, void *pdp, int x, int y, int r1, int r2, double a1, double a2)	{	gdImageArc(PDP->im,x,y,2*r1,2*r2,dtoi(a1),dtoi(a2),PDP->CurCol);	return 0;	}int g2_gd_FilledArc(int pid, void *pdp, int x, int y,		  int r1, int r2,		  double a1, double a2)	{	return 0;	}int g2_gd_DrawString(int pid, void *pdp, int x, int y, const char *text)	{		gdImageString(PDP->im,PDP->FontSize,x,y+2-PDP->FontSize->h,(unsigned char *)text,PDP->CurCol);	return 0;	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人白浆超碰人人人人| 日韩av一区二区三区四区| 99久久精品99国产精品| 亚洲国产精品久久人人爱蜜臀| 欧美日韩国产高清一区二区 | 国产精品麻豆欧美日韩ww| 91污在线观看| 欧美bbbbb| 国产网站一区二区| 欧美日韩日日摸| 国产精品一区二区三区99| 一区二区三区欧美| 久久久久久久综合色一本| 成人亚洲精品久久久久软件| 亚洲超碰精品一区二区| 国产亚洲成aⅴ人片在线观看 | 成人av在线一区二区三区| 午夜精品久久久久久久久| 精品国产91亚洲一区二区三区婷婷| 成人手机在线视频| 视频精品一区二区| 亚洲欧美一区二区在线观看| 日韩一区二区三区视频在线| 国产一区二区精品久久91| 亚洲电影在线免费观看| 国产精品久久久久久久久图文区 | 青娱乐精品视频| 中文字幕乱码日本亚洲一区二区| 91在线视频播放| 国产麻豆午夜三级精品| 日本网站在线观看一区二区三区| 亚洲天堂2016| 欧美激情中文不卡| 精品国产一区二区在线观看| 欧美日韩国产在线播放网站| 成人av资源在线| 国产精品综合久久| 久久精品国产99| 五月天久久比比资源色| 夜夜嗨av一区二区三区| 国产精品理论片| 欧美激情在线观看视频免费| 欧美xxxxx裸体时装秀| 欧美日韩精品一区二区| 91国偷自产一区二区开放时间| 国产一区不卡在线| 男女男精品视频| 亚洲成人你懂的| 国产精品久久久久精k8| 日韩美女主播在线视频一区二区三区| 91福利国产精品| 色综合天天狠狠| 色综合天天在线| 9i看片成人免费高清| 国产suv精品一区二区三区| 国产精品一级片| 国产高清视频一区| 国产精品一二三区在线| 成人永久aaa| 高清视频一区二区| 成人成人成人在线视频| av不卡在线播放| jlzzjlzz国产精品久久| 色综合久久久久综合体| 91久久久免费一区二区| 色狠狠av一区二区三区| 欧美性xxxxxxxx| 972aa.com艺术欧美| av亚洲精华国产精华精| 成人激情文学综合网| 91亚洲资源网| 色欧美日韩亚洲| 欧美日韩午夜在线视频| 亚洲免费av观看| 青青草视频一区| 亚洲一区二区三区三| 亚洲色图欧美偷拍| 国产精品蜜臀在线观看| 一区二区三区欧美日韩| 亚洲一区二区不卡免费| 亚洲高清在线视频| 国产在线视视频有精品| 丁香天五香天堂综合| 99久久伊人久久99| 91极品美女在线| 欧美一区二区三区视频免费 | 天堂影院一区二区| 久久国产综合精品| 国产成人精品亚洲777人妖| 99精品在线观看视频| 欧美精品第1页| 欧美精品一区二区三区在线| 国产欧美精品一区aⅴ影院 | 国产欧美一区二区精品性色| 全国精品久久少妇| 美国十次综合导航| jlzzjlzz国产精品久久| 欧美日韩一区二区在线观看视频 | 国产呦萝稀缺另类资源| 99综合影院在线| 欧美电影一区二区三区| 欧美激情中文字幕| 亚洲chinese男男1069| 国产在线播放一区三区四| 91在线码无精品| 精品日韩在线观看| 亚洲视频一二三区| 蜜臀国产一区二区三区在线播放 | 麻豆精品视频在线| 99国产一区二区三精品乱码| 777欧美精品| 亚洲天堂网中文字| 精品一区二区三区在线观看| 91电影在线观看| 精品少妇一区二区| 亚洲电影在线免费观看| 岛国一区二区三区| 欧美高清激情brazzers| 国产精品久久久久久久久晋中| 波多野结衣在线一区| 欧美日韩电影在线播放| 国产精品久久久久久久浪潮网站| 免费成人你懂的| 欧美性高清videossexo| 国产偷国产偷亚洲高清人白洁| 亚洲成人在线免费| 91视频.com| 国产日韩欧美a| 亚洲国产日产av| 久久av资源站| 色哟哟一区二区| 国产精品久久久一区麻豆最新章节| 久久精品国产成人一区二区三区| 91美女福利视频| 国产欧美一区二区精品久导航| 奇米影视一区二区三区| 在线欧美日韩国产| 亚洲欧美电影一区二区| 国产精品资源在线| 精品少妇一区二区三区日产乱码| 亚洲成年人影院| 91片在线免费观看| 国产精品乱人伦一区二区| 国产精品一级在线| 精品国产91洋老外米糕| 蜜桃久久久久久久| 欧美一区二区三区喷汁尤物| 午夜视频在线观看一区二区三区| 色哟哟精品一区| 亚洲美女精品一区| 99久久久久免费精品国产| 国产精品超碰97尤物18| 成人av在线一区二区三区| 欧美国产综合一区二区| 久久国产精品无码网站| 欧美精品少妇一区二区三区| 午夜视频在线观看一区| 欧美日韩黄视频| 日韩av电影免费观看高清完整版在线观看| 欧美日韩亚州综合| 天堂精品中文字幕在线| 91久久线看在观草草青青| 日韩伦理免费电影| 国产精品12区| 国产午夜亚洲精品理论片色戒 | 国产婷婷精品av在线| 91亚洲精华国产精华精华液| 亚洲高清免费视频| 26uuu久久天堂性欧美| 99精品桃花视频在线观看| 午夜精品久久久久久| 亚洲精品一区二区三区精华液| 春色校园综合激情亚洲| 亚洲午夜日本在线观看| 精品久久久久一区| 91在线观看免费视频| 天天操天天色综合| 国产亚洲精品bt天堂精选| 欧美在线观看一区| 国产一二精品视频| 亚洲小说欧美激情另类| 久久久99精品免费观看| 在线观看视频91| 国产精品一区二区在线播放| 亚洲综合在线五月| 亚洲精品一区二区三区精华液 | 欧美三区在线视频| 国产精品一品二品| 亚洲国产一区二区三区青草影视| 久久久亚洲精品石原莉奈| 欧美综合天天夜夜久久| 国产经典欧美精品| 日韩专区一卡二卡| 国产精品久久久久久亚洲毛片 | 日韩欧美一二三四区| 99久久综合国产精品| 狠狠色丁香九九婷婷综合五月| 一区二区三区产品免费精品久久75| 精品va天堂亚洲国产| 欧美亚一区二区|