c 语言基本画图函数
基本图形函数包括画点,线以及其它一些基本图形的函数。本节对这些函数作一全面的介绍。
1、画点
I.画点函数voidfarputpixel(intx,inty,intcolor);
该函数表示有指定的象元画一个按 color所确定颜色的点。对于颜色 color 的值可从表 3 中获得而对 x,y 是指图形
象元的坐标。
在图形模式下,是按象元来定义坐标的。对 VGA 适配器,它的最高分辨率为 640x480,其中 640 为整个屏幕从左
到右所有象元的个数,480 为整个屏幕从上到下所有象元的个数。屏幕的左上角坐标为(0,0),右下角坐标为(639,479
),水平方向从左到右为 x轴正向,垂直方向从上到下为 y 轴正向。TURBOC 的图形函数都是相对于图形屏幕坐标,即
象元来说的。
关于点的另外一个函数是:intfargetpixel(intx,inty);它获得当前点(x,y)的颜色值。
II、有关坐标位置的函数
intfargetmaxx(void);返回 x 轴的最大值。
intfargetmaxy(void);返回 y 轴的最大值。
intfargetx(void);返回游标在 x 轴的位置。
voidfargety(void);返回游标有 y 轴的位置。
voidfarmoveto(intx,inty);移动游标到(x,y)点,不是画点,在移动过程中亦画点。
voidfarmoverel(intdx,intdy);移动游标从现行位置(x,y)移动到(x+dx,y+dy)的位置,移动过程中不画点。
2、画线
I.画线函数
TURBOC 提供了一系列画线函数,下面分别叙述:
voidfarline(intx0,inty0,intx1,inty1);画一条从点(x0,y0)到(x1,y1)的直线。
voidfarlineto(intx,inty);画一作从现行游标到点(x,y)的直线。
voidfarlinerel(intdx,intdy);画一条从现行游标(x,y)到按相对增量确定的点(x+dx,y+dy)的直线。
voidfarcircle(intx,inty,intradius);以(x,y)为圆心,radius 为半径,画一个圆。
voidfararc(intx,inty,intstangle,intendangle,intradius);以(x,y)为圆心,radius 为半径,从 stangle 开始到
endangle 结束(用度表示)画一段圆弧线。
在 TURBOC 中规定 x 轴正向为 0度,逆时针方向旋转一周,依次为 90,180,270 和 360 度(其它有关函数也按此规定,
不再重述)。
voidellipse(intx,inty,intstangle,intendangle,intxradius,intyradius);以(x,y)为中心,xradius,yradius
为 x 轴和 y 轴半径,从角 stangle开始到 endangle 结束画一段椭圆线,当 stangle=0,endangle=360 时,画出一
个完整的椭圆。
voidfarrectangle(intx1,inty1,intx2,inty2);以(x1,y1)为左上角,(x2,y2)为右下角画一个矩形框。
voidfardrawpoly(intnumpoints,intfar*polypoints);画一个顶点数为 numpoints,各顶点坐标由 polypoints 给
出的多边形。polypoints 整型数组必须至少有 2倍顶点数个无素。每一个顶点的坐标都定义为 x,y,并且 x 在前。值得
注意的是当画一个封闭的多边形时,numpoints的值取实际多边形的顶点数加一,并且数组 polypoints 中第一个和最
后一个点的坐标相同。
下面举一个用 drawpoly()函数画箭头的例子。
#include<stdlib.h>
#include<graphics.h>
intmain()
{
intgdriver,gmode,i;
评论0