首页 > 范文大全 > 正文

C语言图形函数及应用

开篇:润墨网以专业的文秘视角,为您筛选了一篇C语言图形函数及应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:图形函数是C语言函数库中的重要组成部分,利用图形函数可以绘制出非常精美的图形,该文介绍了常用C语言图形函数并通过一个具体的实例介绍了如何利用图形函数设计出完美、漂亮的图形。

关键词:C语言 图形函数 应用

引言

C语言是国际上广泛流行的很有发展前途的计算机高级语言。它既具有一般计算机高级语言的可读性、可移植性的特点,又具有低级语言能够对计算机硬件进行操作的特性,因此,它适合用于操作系统的描述语言,用C语言开发系统软件和应用软件。但在87ANSIC中并没有规定C语言的图形功能,许多C语言教材没有介绍C语言的图形功能,这给许多需要用C语言设计完美、漂亮的用户界面的初学者带来了困难[1-2]。本文旨在通过介绍Turbo C 2.0的主要图形函数及一个具体的实例简介这些函数的用法。

1 与图形绘制有关的系统硬件[2-3]

要使计算机能够绘制图形,必须有一定的硬件基础作为保障。图形绘制的硬件基础主要是显示器和显示卡。显示器的工作方式一般有文本方式和图形方式。要在屏幕上显示图形,必须将其设置成图形方式。衡量显示器的主要性能指标是点距和分辨率。目前显示器常用的点距有0.39mm、0.31mm和0.28mm三种。高档微机配置的彩色显示器目前流行的是VGA档次,它最低的分辨率为640×480,中档的是800×600,高档的是1024×768。显示器必须与显示卡配套使用才能发挥其图形功能。显示卡所能支持的不同分辨率的显卡类型称为显示模式。下表给出Turbo C中常用的几种显示卡的图形模式:

2 Turbo C 2.0中与绘图有关的常用图形函数

2.1 设置图形工作方式的函数:initgraph()。

Turbo C绘图,首先必须设置显示器为图形方式。该函数通过选定参数可确定显卡的类型及图形模式。

如:

int driver,mode;

driver=IBM8514;

mode=IBM8514HI;

initgraph(&driver,& mode,“c:\temp”);

将图形方式设置为IBM8514类型,IBM8514HI图形模式,1024×768的分辨率,搜索路径temp为C盘一级子目录。

2.2 颜色控制函数setbkcolor(int color)及setcolor(int color)。

其中setbkcolor( )设置背景颜色,setcolor( )设置划线颜色。

2.3 基本绘图函数

A. line(int x1,int y1,int x2,int y2)

功能:从点(x1,y1)到点(x2,y2)画一直线。

B. arc(int x,int y,int stange,int endangle,int r)

功能:以(x,y)为圆弧的中心,以stange为起始角度,以endangle为终止角度,以r为半径作一圆弧。

C. setfillstyle(int pattern,int color)

功能:用参数pattern所确定的填充模式,用参数color确定的颜色进行填充。

D. floodfill(int x,int y,int color)

功能:填充一个含有点(x,y)在内的有界封闭区域,这个有界封闭区域的边界由参数color确定,填充模式与填充颜色由函数setfillstyle设定。

2.4 字符输出函数

A. settextstyle(int font,int direction,int size)

功能:在图形方式下设置字符的字体,式样和放大因子。

B. outtextxy(int x,int y,char &str)

功能:在窗口(x,y)的位置输出字符或字符串。

C. getch( )

功能:从控制台取得一字符且不输出,用来使程序暂停,按任意键后使程序继续运行。

3. 绘制一个圆饼型统计图的程序如下

#include

main( )

{ int driver,mode;

driver=VGA;

mode=VGAHI;

initgraph(&driver,&mode,“ ”);

setbkcolor(0);

setcolor(15);

arc(320,240,0,360,180);

line(320,240,500,240);

line(320,240,443,112);

line(320,240,266,70);

line(320,240,200,374);

setfillstyle(4,2);

floodfill(340,230,15);

setfillstyle(5,9);

floodfill(340,180,15);

setfillstyle(7,4);

floodfill(300,240,15);

setfillstyle(8,3);

floodfill(340,280,15);

setcolor(14);

settextstyle(1,0,4);

outtextxy(410,180,“14%”);

settextstyle(1,0,4);

outtextxy(330,110,“16%”);

settextstyle(1,0,4);

outtextxy(200,200,“34%”);

settextstyle(1,0,4);

outtextxy(340,310,“36%”);}

上述程序在Turbo C 2.0中上机通过编译、连接、运行,可得到精美的圆饼型图。读者通过阅读并上机调试运行该程序可以对C语言的图形设置、绘制;颜色的控制、填充等函数的应用有一个感性的认识,对复杂枯燥的C函数提高学习兴趣。

结语

目前许多C语言教材很少介绍C语言的图形功能,而许多C语言学习者对C语言的图形功能很感兴趣,为帮助初学者学习C语言绘图函数并提高学习兴趣,本文简单介绍了C语言一些常用的绘图函数及其应用,权当抛砖引玉!还有一些图形函数没有列出,读者若有兴趣可参阅《C语言函数大全》。

参考文献:

[1]徐士良.PC机C图形编程手册.北京:清华大学出版社,1994.2.

[2]谭浩强.C程序设计(第二版)[M].北京:清华大学出版社,1999.

[3]MarkFinlay.C和C++图形程序设计基础.北京:龙门书局,1997.4.

[4]Herbert Schildt著.戴健鹏译.C语言大全(第二版)[M].北京:电子工业出版社,1994.