c语言图形化函数 c图形化编程( 三 )


2. 在C:\TC子目录下输入命令:TLIB LIB\GRAPHICS.LIB+EGAVGA
此命令的意思是将EGAVGA.OBJ的目标模块装到GRAPHICS.LIB库文件中 。
3. 在程序中initgraph()函数调用之前加上一句:
registerbgidriver(EGAVGA_driver):
该函数告诉连接程序在连接时把EGAVGA的驱动程序装入到用户的执行程序中 。
经过上面处理,编译链接后的执行程序可在任何目录或其它兼容机上运行 。
假设已作了前两个步骤,若再向例6中加 registerbgidriver()函数则变成:
例7:
#includestdio.h
#includegraphics.h
int main()
{
int gdriver=DETECT,gmode;
registerbgidriver(EGAVGA_driver):/ *建立独立图形运行程序 */
initgraph( gdriver, gmode,"c:\\tc");
bar3d(50,50,250,150,20,1);
getch();
closegraph();
return 0;
}
上例编译链接后产生的执行程序可独立运行 。
如不初始化成EGA或CGA分辨率, 而想初始化为CGA分辨率,则只需要将上述
步骤中有EGAVGA的地方用CGA代替即可 。
3.屏幕颜色的设置和清屏函数
对于图形模式的屏幕颜色设置, 同样分为背景色的设置和前景色的设置 。在
Turbo C中分别用下面两个函数 。
设置背景色:void far setbkcolor( int color);
设置作图色:void far setcolor(int color);
其中color 为图形方式下颜色的规定数值, 对EGA, VGA显示器适配器, 有关
颜色的符号常数及数值见下表所示 。
表3 有关屏幕颜色的符号常数表
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
符号常数数值含义符号常数数值含义
———————————————————————————————————
BLACK0黑色DARKGRAY8深灰
BLUE1兰色LIGHTBLUE9深兰
GREEN2绿色LIGHTGREEN10淡绿
CYAN3青色LIGHTCYAN11淡青
RED4红色LIGHTRED12淡红
MAGENTA5洋红LIGHTMAGENTA13淡洋红
BROWN6棕色YELLOW14黄色
LIGHTGRAY7淡灰WHITE15白色
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
对于CGA适配器, 背景色可以为表3中16种颜色的一种, 但前景色依赖于不同
的调色板 。共有四种调色板, 每种调色板上有四种颜色可供选择 。不同调色板所
对应的原色见表4 。
表4 CGA调色板与颜色值表
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
调色板颜色值
—————————————————————————————
符号常数数值0123
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
C00背景绿红黄
C11背景青洋红白
C22背景淡绿淡红黄
C33背景淡青淡洋红白
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
清除图形屏幕内容使用清屏函数, 其调用格式如下:
voide far cleardevice(void);
另外, TURBO C也提供了几个获得现行颜色设置情况的函数 。
int far getbkcolor(void);返回现行背景颜色值 。
int far getcolor(void);返回现行作图颜色值 。
int far getmaxcolor(void);返回最高可用的颜色值 。
4. 基本图形函数
基本图形函数包括画点, 线以及其它一些基本图形的函数 。本节对这些函数
作一全面的介绍 。
一、画点
1. 画点函数
void far putpixel(int x, int y, int color);
该函数表示有指定的象元画一个按color所确定颜色的点 。对于颜色color的
值可从表3中获得而对x, y是指图形象元的坐标 。
在图形模式下, 是按象元来定义坐标的 。对VGA适配器,它的最高分辨率为

推荐阅读