用法: 此函数调用方式为void drawpoly(int pnumber,int *points);
说明: 参数pnumber为多边形的顶点数;参数points指向整型数组,该数组中是多边形所有顶点(x,y)坐标值 , 即一系列整数对,x坐标值在前 。显然整型数组的维数至少为顶点数的2倍 , 在定义了多边形所有顶点的数组polypoints时,顶点数目可通过计算sizeof(polypoints)除以2倍的sizeof(int)得到,这里除以2倍的原因是每个顶点有两个整数坐标值 。另外有一点要注意,画一个n个顶点的闭合图形,顶点数必须等于n+1,并且最后一点(第n+1)点坐标必须等于第一点的坐标 。
drawpoly()函数对应的头文件为grpahics.h
返回值: 无
例: 下面的程序画一个封闭星形图与一个不封闭星形图:
#i ncludegraphics.h
void main()
{
int driver,mode;
static int polypoints1[18]={100,100,110,120,100,130,120,125,140,140,130,120,
140,110,120,115,100,100};
static int polypoints2[18]={180,100,210,120,200,130,220,125,240,140,230,120,
240,110,220,115,220,110};
driver=DETECT;
mode=0;
initgraph(driver,mode,"");
drawpoly(9,polypoints1);
drawpoly(9,polypoints2);
getch();
restorecrtmode();
}
(四)、 圆、弧和曲线函数
在一个屏幕上画得很圆的图形到另一个屏幕上可能被压扁或拉长,这是因为每一种显示卡与之相应的显示模式都有一个纵横比 。纵横比是指像素的水平方向大小与垂直方向大小的比值 。如VGA显示卡由于偈素基本上是正方形,所以纵横比为1.000 。
为了保证几何图形基本按预计情况显示在屏幕上,用屏显的纵横比来计算和纠正不同硬件及显示卡产生的畸变 。计算纵横比所需要的水平方向和垂直方向的比例系数可调用函数getaspectratio()获得 。
68. getaspectratio()获取纵横比函数
功能: 函数getaspectratio()返回x方向和y方向的比例系数 , 用这两个整型值可计算某一特定屏显的纵横比 。
用法: 此函数调用方式为void getaspectratio(int xasp,int yasp);
说明: 参数xasp指向的变量存放返回的x方向比例系数;参数yasp指向的变量存放返回的y方向比例系数 。通常y方向比例系数为10 000 , x方向比例系数不大于10 000(这是因为大多数屏幕像素高比宽长) 。
注意纵横比自动用作下面函数arc(),circle()和pieslice()中的标尺因子,使屏幕上圆或弧正常显示 。但用ellipse()函数画椭圆必须调用本函数获取纵横比作为标尺因子 , 否则不予调整 。纵横比可用于其它几何图形 , 目的是校正和显示图形 。
getaspectratio()函数对应的头文件为graphics.h
返回值: 返回x与y方向比例系数分别存放在xasp和yasp所指向的变量中 。
例: 下面的程序显示纵横比:
int xasp,yasp;
float aspectratio;
getaspectratio(xasp,yasp);
aspectratio=xasp/yasp;
printf("aspect ratio: %f",aspectratio);
69. circle()画圆函数
功能: 函数circle()使用当前绘图色并以实线画一个完整的圆 。
用法:该函数调用方式为void circle(int x,int y,int radius);
说明: 参数x,y为圆心坐标,radius为圆半径,用像素个素表示 。注意,调用circle()函数画圆时不用当前线型 。
不同于ellipse()函数,只用单个半径radius参数调用circle()函数,故屏显纵横比可以自动调节,以产生正确的显示图 。
此函数对应的头文件为graphics.h
返回值: 无
例: 画六个同心圆,圆心在(100,100) 。
#i ncludegraphics.h
void main()
{
int driver,mode;
driver=DETECT;
mode=0;
initgraph(driver,mode,"");
circle(100,100,10);
推荐阅读
- cad怎么倒pdf,Cad怎么倒角
- dbxa创建oracle数据库,oracle怎么创建dblink
- 日本赛车电脑游戏叫什么,日本 赛车游戏
- 火山直播怎么删除登录设备,火山直播怎么注销账号
- 环境linux命令行 linux的命令运行环境是
- 全天直播包饺子什么意思,直播包饺子是啥
- 小米区块链下载技巧在哪,小米链交易平台
- 爱爱直播平台,爱爱直播平台账号被冻结怎么办
- gccc语言重名函数 c语言源程序中可以有重名的函数