5-绘图程序设计方法.ppt_第1页
5-绘图程序设计方法.ppt_第2页
5-绘图程序设计方法.ppt_第3页
5-绘图程序设计方法.ppt_第4页
5-绘图程序设计方法.ppt_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五章 绘图程序设计方法,一. Turbo C 下的图形工作方式 1. 坐标原点 在图形方式下,屏幕上每个像素的显示位置用点坐标来描述。在这种坐标系中,屏幕的左上角为坐标系原点,水平方向为X轴,自左向右垂直方向为Y轴,自上向下。,2. 绝对坐标和相对坐标 绝对坐标-参考点是坐标系的原点,只能取规定范围内的正整数。 相对坐标-相对于当前点的坐标,其参考点是当前点。x和y的取值是相对于当前点在x方向和y方向的增量,这个增量可以是正,也可以是负。,3. 图形显示模式 一般情况下,同一台图形显示器采用不同的图形驱动程序时可以设置成不同的分辨率和可能显示的颜色,图形显示模式就是指当前所采用的分辨率和所能

2、显示的颜色。,二. Turbo C 2.0中的图形函数,1. 头文件 #include ,2. 图形系统管理函数 (1) 图形方式的初始化 调用格式: initgraph ( *gdriver,*gmode ,*path );,功 能:装入一个图形驱动程序来初始化图形系统,并将 系统置为图形模式。 参 数:gdriver-是一个整形值,用来指定要装入的图形 驱动程序。 gmode-是一个整形值,用来设置图形显示模式。,这两个参数实际上都是整形指针,调用时应加上地址运算符。 通常可采用DETECT模式,由系统自动对硬件进行检测,并把图形显示模式设置为检测到的图形驱动程序的最高分辨率。,path-

3、是一个字符串,用来指明图形驱动程序所在的路径。 如果驱动程序就在用户当前目录下,则该参数可以 为空字符串,否则应给出具体的路径名。 例如: int gdriver = DETECT , gmode; initgraph ( 功 能:在指定坐标处画一象素点。 参 数:x 、y-整型值,指定点的坐标。 pixelcolor-象素点的颜色。,(4) 画直线 调用格式: line ( x1 , y1 , x2 , y2 ); 功 能:在指定的二点间画一条直线段。 参 数:x1、y1、x2、y2-整型值,分别为直线段二个 端点的坐标。 (5) 画直线 调用格式: lineto ( x , y ); 功

4、能:从当前点到指定点之间画一条直线段。 参 数:x 、y-整型值,指定点的坐标。 (6) 画直线 调用格式: linerel ( dx , dy ); 功 能:从当前点到指定点之间画一条直线段。 参 数:dx 、dy-整型值,指示指定点位置相对于当 前点位置的增量。,(7) 画圆 调用格式: circle ( x , y , r ); 功 能:以指定圆心、半径的方式画圆。 参 数:x 、y 、r-整型值,(x ,y)为圆心坐标,r为圆 的半径。 (8) 画圆弧 调用格式: arc ( x , y , angs , ange , r ); 功 能:画一段圆弧。 参 数:x 、y-整型值,为圆弧所

5、在圆的圆心坐标。 angs 、ange-整型值,分别为圆弧的起始角和 终止角,单位为度。 r-为圆弧的半径。,(9) 画矩形 调用格式: rectangle (x1 , y1 , x2 , y2 ); 功 能:绘制矩形。 参 数:x1 、y1-整型值,矩形的左上角点 x2 、y2-整型值,矩形的右下角点。 (10) 画折线 调用格式: drawpoly (nps , *pxy ); 功 能:画一条多边折线。 参 数:nps-整型值,表示所画多边折线的顶点数 pxy-整型数组的数组名,该数组中存放了nps 个顶点的坐标值序列。,5. 充填函数 (1)设置充填模式 调用格式:setfillstyl

6、e (pattern , color ); 功 能:设置当前的充填模式和充填颜色,用于充填一个封 闭区域。 参 数:pattern-整型值,用于指定充填模式,系统设置 有12种充填模式,分别用011表示,另 有一种用户自定义模式用12表示。 color-用于指定充填颜色,定义同前。 (2)区域充填 调用格式: floodfill (x ,y ,bcolor ); 功 能:对一指定封闭区域进行充填操作。 参 数:x , y-整型值,是位于充填区域内的任意一点的坐标。 bcolor-整型值,是充填区域的边界颜色。,6. 屏幕管理函数 (1) 设置视图区 调用格式:setviewport( x1 ,

7、 y1 , x2 , y2 , c ); 功 能:在屏幕上定义一个视图区(相当于一个用于绘图的 窗口)。 参 数:x1,y1-视图区左上角坐标,整型。 x2,y2-视图区右下角坐标,整型。 c-裁剪状态参数 c =1:超出视图区的图形部分被自动裁剪掉。 c =0:超出视图区的图形部分不作裁剪。 (2) 清除视图区 调用格式:clearviewport( ); 功 能:清除掉当前的视图区。,(3) 清屏 调用格式:cleardevice( ); 功 能:立即清除全屏幕,并将当前点位置设置为原点 (0,0),但其它图形系统的设置保持不变(线型、 充填模式等等)。 (4) 暂停 调用格式:delay

8、( milliseconds ); 功 能:暂停执行当前的程序可用于程序中起延时作用。 参 数:milliseconds-暂停的毫秒数。,三. 绘图程序的设计 程序 = 算法 + 数据结构 实例:绘制飘带图案 # include 头文件 # include # define PI 3.1415926 main () int x1 , y1 , x2 , px=320 , py=240 ; double a ; int gdriver = DETECT , gmode ; initgraph ( a= PI ; a+= PI/380 ) x1 = 280 * cos (1.6 * a ) + px ; y1 = 479 ( 90 * sin ( 8 * a ) * cos ( a/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论