制作多样的椭圆
实例效果与目的
本例得用椭圆函数ellipse()来制作多样椭圆,样式相当美观,当程序运行后,可以看到该效果。
本例的目的是让读者把握利用函数ellipse()绘制椭圆的方法。
程序说明
本例主要讲解绘制矩形与椭圆的两个函数,其中椭圆函数ellipse的格式为
void ellipse(int x,int y,int stangle,int endangle,int xradius,int yradius);
其中:x,y为椭圆的中心,xradius、yradius为椭圆x轴和y轴半径。
它的作用是从角stangle,开始到endangle结束画一段椭圆线,当stangle=0,endangle=360进,画出一个完整的椭圆。
要注重当xradius>yradius时,画的是横椭圆,而当yradius>xradius时,画的是长椭圆。
制作步骤
1、规定显示器为VGA,并选用VGA中2号调色板模式:
drive=VGA,
mode=VGAHI;
2、初始化图形系统:
initgraph(5月4日river,&mode,"");
3、使用For循环语句绘制20个椭圆,并且横轴坐标不变,而纵轴坐标逐渐变小。
for(i=0;i<num;i++)
{
ellipse(250,250,0,360,top,bottom); /*绘制椭圆函数*/
top-=5;
bottom+=5;
}
4、源代码与注释:
#include"stdio.h"
#include"graphics.h"
#include"conio.h" /*预定义三个库函数*/
main()
{
int x=360,y=160,
driver=VGA, /*规定显示器为VGA*/
mode=VGAHI; /*选用VGA中2号调色板模式*/
int num=20,i;
int top,bottom; /*定义变量,有的变量并赋值*/
initgraph(&driver,&mode,""); /*初始化图形系统*/
top=y-30;
bottom=y-30;
for(i=0;i<num;i++) /*For循环语句绘制20个椭圆,并且横轴坐标不变,而纵轴坐标逐渐变小*/
{
ellipse(250,250,0,360,top,bottom); /*绘制椭圆函数*/
top-=5;
bottom+=5;
}
getch(); /*按任一键结束*/
}