实验二:C语言图形基础知识
实验二 C语言图形基础知识
一、实验目的
认识C语言程序中的图形参数和有关图形显示的基础知识;
学习C语言各种图形函数和图形命令及其使用。
学习并运行图形显示例程,掌握C语言图形编程基本常识。
二、实验设备及软件
计算机系统 1套;
C语言教程软件 1套;
C语言编程软件 1套;
课程多媒体软件 1套。
三、实验内容
学习教程中有关图形的基本知识
图形模式初始化设置、颜色代码调用、图形显示基本功能等。
认识并掌握C语言图形函数及其使用
各种图形的C语言函数,如点、直线、矩形、圆、扇形、椭圆及多边形等的基本表示、 含义以及基本应用如:
void far putpixel(int x, int y, int color);画点函数。该函数表示有指定的象元画一个按color所确定颜色的点。对于颜色color的值可从表3中获得而对x, y是指图形象元的坐标。
void far line(int x0, int y0, int x1, int y1);画一条从点(x0, y0)到(x1, y1)的直线。
void far lineto(int x, int y);画一作从现行游标到点(x, y)的直线。
void far linerel(int dx, int dy);画一条从现行游标(x, y)到按相对增量确定的点(x+dx, y+dy)的直线。
void far circle(int x, int y, int radius);以(x, y)为圆心, radius为半径, 画一个圆。
void far arc(int x, int y, int stangle, int endangle, int radius);以(x, y)为圆心, radius为半径, 从stangle开始到endangle结束(用度表示)画一段圆弧线。
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时, 画出一个完整的椭圆。
void far rectangle(int x1, int y1, int x2, inty2);以(x1, y1)为左上角, (x2, y2)为右下角画一个矩形框。
void far drawpoly(int numpoints, int far *polypoints);画一个顶点数为numpoints, 各顶点坐标由polypoints 给出的多边形。
图形函数的基本表示、 含义以及基本应用。如:
void?far?clearviewport?(?void?);清除现行图形窗口的内容。?
void?far?outtext?(?char?far?*textstring?);该函数输出字符串指针textstring所指的文本在现行位置。
初步认识C语言图形函数的编程与运行;
在 C 语言环境下, 运行图形程序示例,观察显示结果,分析程序结构和含义,学习C语言图形函数的编程应用;
修改相关程序内容,观察运行结果,总结经验和结论分析。
没有修改的原程序一:
#include
#include
#include
#include
int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int left, top, right, bottom;
/* 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