@函数名称: getarccoords
函数原型: void far getarccoords(struct arccoordstype far *coords)
函数功能: 得到最后一次画圆弧的坐标
函数返回:
参数说明: coords-使用函数arc()画圆弧的坐标,该结构如下:
struct arccoordstype{
int m,n; /* 圆心坐标 */
int xstart,ysrart,xend,yend;/* 圆弧起点终点坐标 */
};
所属文件: <graphics.h>
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main()
{
int gdriver=DETECT,gmode,errorcode;
struct arccoordstype arcinfo;
int midx,midy;
int stangle=45,endangle=270;
char sstr[80],estr[80];
initgraph(&gdriver,&gmode,);
errorcode=graphresult();
if (errorcode!=grOk)
{
printf("Graphics error: %s",grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
midx=getmaxx()/2;
midy=getmaxy()/2;
setcolor(getmaxcolor());
arc(midx,midy,stangle,endangle,100);
getarccoords(&arcinfo);
sprintf(sstr,"*- (%d,%d)",arcinfo.xstart,arcinfo.ystart);
sprintf(estr,"*- (%d,%d)",arcinfo.xend,arcinfo.yend);
outtextxy(arcinfo.xstart,arcinfo.ystart,sstr);
outtextxy(arcinfo.xend,arcinfo.yend,estr);
getch();
closegraph();
return 0;
}
@函数名称: arc
函数原型: void far arc(int x, int y, int start, int end, int radius)
函数功能: 画一圆弧线
函数返回:
参数说明: x,y-圆心,radius-半径,start,end-弧线的起始和中止角度
所属文件: <graphics.h>
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main()
{
int gdriver=DETECT,gmode,errorcode;
int midx,midy;
int stangle=45,endangle=135;
int radius=100;
initgraph(&gdriver,&gmode,);
errorcode=graphresult();
if (errorcode!=grOk)
{
printf("Graphics error: %s",grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
midx=getmaxx()/2;
midy=getmaxy()/2;
setcolor(getmaxcolor());
arc(midx,midy,stangle,endangle,radius);
getch();
closegraph();
return 0;
}
@函数名称: circle
函数原型: void far circle(int x, int y, int radius)
函数功能: 画圆
函数返回:
参数说明: x,y-圆心坐标,radius-半径
所属文件: <graphics.h>
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main()
{
int gdriver=DETECT,gmode,errorcode;
int midx,midy;
int radius=100;
initgraph(&gdriver,&gmode,);
errorcode=graphresult();
if (errorcode!=grOk)
{
printf("Graphics error: %s",grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
midx=getmaxx()/2;
midy=getmaxy()/2;
setcolor(getmaxcolor());
circle(midx,midy,radius);
getch();
closegraph();
return 0;
}
@函数名称: pieslice
函数原型: void far pieslice(int x,int y,int start,int end,int radius)
函数功能: 画扇形
函数返回:
参数说明: x,y-扇形所在园的圆心坐标,start,end-扇形的开始和结束角度,radius-园的半径
所属文件: <graphics.h>
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main()
{
int gdriver=DETECT,gmode,errorcode;
int midx,midy;
int stangle=45,endangle=135,radius=100;
initgraph(&gdriver,&gmode,);
errorcode=graphresult();
if (errorcode!=grOk)
{
printf("Graphics error: %s",grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
midx=getmaxx()/2;
midy=getmaxy()/2;
setfillstyle(EMPTY_FILL,getmaxcolor());
pieslice(midx,midy,stangle,endangle,radius);
getch();
closegraph();
return 0;
}
@函数名称: getaspectratio,setaspectratio
函数原型: void far getaspectratio(int far *xasp, int far *yasp)
函数功能: 得到图形显示的比例因子
函数返回:
参数说明: xasp-x方向比例因子,yasp-y方向比例因子
所属文件: <graphics.h>
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main()
{
int gdriver=DETECT,gmode,errorcode;
int xasp,yasp,midx,midy;
initgraph(&gdriver,&gmode,);
errorcode=graphresult();
if (errorcode!=grOk)
{
printf("Graphics error: %s",grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
midx=getmaxx()/2;
midy=getmaxy()/2;
setcolor(getmaxcolor());
getaspectratio(&xasp,&yasp);
circle(midx,midy,100);
getch();
cleardevice();
setaspectratio(xasp/2,yasp);
circle(midx,midy,100);
getch();
cleardevice();
setaspectratio(xasp,yasp/2);
circle(midx,midy,100);
getch();
closegraph();
return 0;
}
@函数名称: sector
函数原型: void far sector(int x,int y,int start,int end,int xrad,int yrad)
函数功能: 画扇形,并填充以预定填充图案和颜色
函数返回:
参数说明: x,y-圆心坐标,start,end-圆弧起点和终点角度,单位度,xrad,yrad-椭圆x,y方向的半径
所属文件: <graphics.h>
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
/* request auto detection */
int gdriver=DETECT,gmode,errorcode;
int midx,midy,i;
int stangle=45,endangle=135;
int xrad=100, yrad=50;
/* initialize graphics and local variables */
initgraph(&gdriver,&gmode,"");
/* read result of initialization */
errorcode=graphresult();
if (errorcode!=grOk) /* an error occurred */
{
printf("Graphics error: %s\n",grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1); /* terminate with an error code */
}
midx=getmaxx()/2;
midy=getmaxy()/2;
/* loop through the fill patterns */
for(i=EMPTY_FILL;i<USER_FILL;i++)
{
/* set the fill style */
setfillstyle(i,getmaxcolor());
/* draw the sector slice */
sector(midx,midy,stangle,endangle,xrad,yrad);
getch();
}
/* clean up */
closegraph();
return 0;
}
@函数名称: ellipse
函数原型: void far ellipse(int x,int y,int start,int end,int xradius,int yradius)
函数功能: 画椭圆弧
函数返回:
参数说明: x,y-圆心坐标,start,end-圆弧起点和终点角度,单位为度,xradius,yradius-椭圆x,y方向的半径
所属文件: <graphics.h>
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main()
{
int gdriver=DETECT,gmode,errorcode;
int midx,midy;
int stangle=0,endangle=360;
int xradius=100,yradius=50;
initgraph(&gdriver,&gmode,);
errorcode=graphresult();
if (errorcode!=grOk)
{
printf("Graphics error: %s",grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
midx=getmaxx()/2;
midy=getmaxy()/2;
setcolor(getmaxcolor());
ellipse(midx,midy,stangle,endangle,xradius,yradius);
getch();
closegraph();
return 0;
}
@函数名称: fillellipse
函数原型: void far fillellipse(int x, int y, int xradius, int yradius)
函数功能: 画椭圆并用当前的填充色和填充图案填充
函数返回:
参数说明: x,y-圆心坐标,xradius,yradius-椭圆x,y方向的半径
所属文件: <graphics.h>
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main()
{
int gdriver=DETECT,gmode,errorcode;
int midx,midy,i;
int xradius=100,yradius=50;
initgraph(&gdriver,&gmode,"");
errorcode=graphresult();
if (errorcode!=grOk){
printf("Graphics error: %s\n",grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
midx=getmaxx()/2;
midy=getmaxy()/2;
/* loop through the fill patterns */
for (i=EMPTY_FILL;i<USER_FILL;i++){
评论0