没有合适的资源?快使用搜索试试~ 我知道了~
C语言曲线函数.doc-综合文档
需积分: 18 0 下载量 25 浏览量
2021-05-22
05:09:41
上传
评论
收藏 99KB DOC 举报
温馨提示
试读
12页
C语言曲线函数.doc
资源推荐
资源详情
资源评论
像素函数
putpixel() 画像素点函数 getpixel()返回像素色函数
直线和线型函数
line() 画线函数 lineto() 画线函数 linerel() 相对画线函数 setlinestyle() 设置
线型函数 getlinesettings() 获取线型设置函数 setwritemode() 设置画线模式函数
多边形函数
rectangle()
画矩形函数 bar() 画条函数 bar3d() 画条块函数 drawpoly() 画
多边形函数
圆、弧和曲线函数
getaspectratio()获取纵横比函数 circle()画圆函数 arc() 画圆弧函数 ellipse()
画椭圆
弧函数 fillellipse() 画椭圆区函数 pieslice() 画扇区函数 sector() 画椭圆
扇区函数 getarccoords()获取圆弧坐标函数
填充函数
setfillstyle() 设 置 填 充 图 样 和 颜 色 函 数 setfillpattern() 设 置 用 户 图 样 函 数
floodfill() 填充闭域函数 fillpoly() 填充多边形函数 getfillsettings() 获取填充设置函
数 getfillpattern() 获取用户图样设置函数
图像函数
imagesize() 图像存储大小函数 getimage() 保存图像函数 putimage() 输出图像
函数
图形和图像函数
对许多图形应用程序
,直线和曲线
是非常有用的。但对有些图形只能靠操作单个像素
才能画出。当然如果没有画像素的功能,就无法操作直线和曲线的函数。而且通过大规模
使用像素功能,整个图形就可以保存、写、擦除和与屏幕上的原有图形进行叠加。
(一) 像素函数
putpixel() 画像素点函数
功能: 函数 putpixel() 在图形模式下屏幕上画一个像素点。 用法: 函数调用方式
为 void putpixel(int x,int y,int color); 说明: 参数 x,y 为像素点的坐标,color 是该像素点
的颜色,它可以是颜色符号名,也可以是整型色彩值。 此函数相应的头文 件
是
graphics.h 返 回 值 : 无 例 : 在 屏 幕 上 (6,8) 处 画 一 个 红 色 像 素 点 :
putpixel(6,8,RED);
getpixel()返回像素色函数
功 能 : 函 数 getpixel() 返回 像 素 点 颜 色 值。 用法 : 该 函数 调 用方 式 为 int
getpixel(int x,int y); 说明: 参数 x,y 为像素点坐标。 函数的返回值可以不反映实际
彩色值,这取决于调色板
的设置情况(参见 setpalette()函数)。 这个函数相应的头文件
为 graphics.h 返回值: 返回一个像素点色彩值。 例: 把屏幕上(8,6)点的像素颜色
值赋给变量 color。 color=getpixel(8,6);
(二) 直线和线型函数
有三个画直线的函数,即 line(),lineto(),linerel()。这些直线使用整型坐标,并相对于当
前图形视口,但不一定受视口限制,如果视口裁剪标志 clip 为真,那么直线将受到视口边
缘截断;如果 clip 为假,即使终点坐标或新的当前位置在图形视口或屏幕极限之外,直线
截断到屏幕极限。 有两种线宽及几种线型可供选择,也可以自己定义线图样。下面分
别介绍直线和线型函数。
line() 画线函数
功能: 函数 line()使用当前绘图色、线型及线宽,在给定的两点间画一直线。 用
法: 该函数调 用方式为 void line(int startx,int starty,int endx,int endy); 说 明: 参数
startx,starty 为起点坐标,endx,endy 为终点坐标,函数调用前后,图形状态下屏幕光标(一般
不可见)当前位置不改变。 此函数相应的头文件为 graphics.h 返回值: 无 例:
见函数 60.linerel()中的实例。
lineto() 画线函数
功能: 函数 lineto()使用当前绘图色、线型及线宽,从当前位置画一直线到指定位置。
用法: 此函数调用方式为 void lineto(int x,int y); 说明: 参数 x,y 为指定点的坐标,函
数调用后,当前位置改变到指定点(x,y)。 该函数对应的头文件为 graphics.h 返回
值: 无 例: 见函数 60.linerel()中的实例。
linerel() 相对画线函数
功能: 函数 linerel() 使用当前绘图色、线型及线宽,从当前位置开始,按指定的水平
和垂直偏移距离画一直线。 用法: 这个函数调用方式为 void linerel(int dx,int dy);
说明: 参数 dx,dy 分别是水平偏移距离和垂直偏移距离。 函数调用后,当前位置变为
增加偏移距离后的位置,例如,原来的位置是(8,6),调用函数 linerel(10,18)后,当前位置
为 (18,24) 。 返 回 值 :无 例 : 下面 的 程 序 为 画线 函 数 调 用 实例 : #i
nclude<graphics.h> void main() { int driver,mode; driver=DETECT;
mode=0; initgraph(&driver,&mode,""); setcolor(15); line(66,66,88,88);
lineto(100,100); linerel(36,64); getch(); restorecrtmode(); }
setlinestyle() 设置线型函数
功能: setlinestyle() 为画线函数设置当前线型,包括线型、线图样和线宽。 用法:
setlinestyle() 函数调用方式为 void setlinestyle(int stly,unsigned pattern,int wigth); 说明:
参数 style 为线型取值,也可以用相应名称表示,如表 1-10 中所示。 参数 pattern 用于
自定义线图样,它是 16 位(bit)字,只有当 style=USERBIT_LINE(值为 1)时,pattern 的值才
有 意 义 , 使 用 用 户 自 定 义 线 图 样 , 与 图 样 中 “ 1” 位 对 应 的 像 素 显 示 , 因 此 ,
pattern=0xFFFF,则画实线;pattern=0x9999,则画每隔两个像素交替显示的虚线,如果要
画长虚线,那么 pattern 的值可为 0xFF00 和 0xF00F,当 style 不为 USERBIT_LINE 值时,
虽然 pattern 的值不起作用,但扔须为它提供一个值,一般取为 0。 参数 wigth 用来设
定线宽,其取值见表 1-11,表中给出了两个值,即 1 和 3,实际上,线宽取值为 2 也是可以
接受的。 若用非法参数调用 setlinestyle()函数,那么 graphresult()会返回错误代码,并
且当前线型继续有效。 Turbo C 提供的线型与线宽定义在头文件 graphics.h 中,表 1-10
和 1-11 分别列出了参数的取值与含义。 表 1-10 线型
名称 取值 含义
SOLID_LINE 0
实线
DOTTED_LINE 1
点线
CENTER_LINE 2
中心线
DASHED_LINE 3
虚线
USERBIT_LIN
E
4
用户自定义线型
表 1-11 线宽
名
称 取
值 说
明
NORM_WIDTH
(常宽)
1
一个像素宽(缺省值)
THICK_WIDTH
(加宽)
3
三个像素宽
这个函数的头文件是 graphics.h 返回值: 无 例: 下面的程序显示了 BC 中所提供
的 线 型 图 样 : #i nclude<graphics.h> void main() { int driver,mode;i;
driver=DETECT; mode=0; initgraph(&driver,&mode,""); for(i=0;i<4;i++) {
setlinestyle(i,0,1); line(i*50,200,i*50+60,200) ; } getch(); restorecrtmode();
}
getlinesettings() 获取线型设置函数
功能: 函数 getlinesettings() 用当前设置的线型、线图样和线宽填 写 linesettingstype 型
结构。 用法: 函数调用方式为 void getlinesettings(struct linesettingstype *info); 说
明: 此函数调用执行后,当前的线型、线图样和线宽值被装入 info 指向的结构里,从而可
从 该 结 构 中 获 得 线 型 设 置 。 linesettingstype 型 结 构 定 义 如 下 : struct
linesettingstype { int linestyle; unsigned upattern; int thickness; }; 其中
linestyle 用于存放线型,线型值为表 1-10 中的各值之一。 upattern 用为装入用户自定义
线图样,这是 16 位字,每一位等于一个像素,如果哪个位被设置,那么该像素打开,否则
关闭。 thickness 为线宽值存放的变量,可参见表 1-11。 getlinesettings()函数对应
的头文件为 graphics.h 返回值: 返回的线型设置存放在 info 指向的结构中。 例:
把当前线型的设置写入 info 结构: struct linesettingstype info; getlinesettings(&info);
setwritemode() 设置画线模式函数
功 能 : 函 数 setwritemode() 设 置 画 线 模 式 用 法 : 函 数 调 用 方 式 为 void
setwritemode()(int mode); 说明: 参数 mode 只有两个取值 0 和 1,若 mode 为 0,则新
画的线将覆盖屏幕上原有的图形,此为缺省画线输出模式。如果 mode 为 1,那么新画的像
素点与原有图形的像素点先进行异或(XOR)运算,然后输出到屏幕上,使用这种画线输出
模式,第二次画同一图形时,将擦除该图形。调用 setwritemode()设置的画线输出模式只影
响函数 line(),lineto(),linerel(),recangle()和 drawpoly()。 setwritemode()函数对应的头文件
是 graphics.h 返回值: 无 例: 设置画线输出模式为 0: setwritemode(0);
(三)、多边形函数
对多边形,无疑可用画直线函数来画出它,但直接提供画多边形的函数会给用户很大
剩余11页未读,继续阅读
资源评论
weixin_38698860
- 粉丝: 5
- 资源: 912
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功