上述
步骤中有 EGAVGA 的地方用 CGA 代替即可。
3.屏幕颜色的设置和清屏函数
对于图形模式的屏幕颜色设置, 同样分为背景色的设置和前景色的设置。在
Turbo C 中分别用下面两个函数。
设置背景色: void far setbkcolor( int color);
设置作图色: void far setcolor(int color);
其中 color 为图形方式下颜色的规定数值, 对 EGA, VGA 显示器适配器, 有
关
颜色的符号常数及数值见下表所示。
表 3 有关屏幕颜色的符号常数表
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
符号常数 数值 含义 符号常数 数值 含义
───────────────────────────────────
BLACK 0 黑色 DARKGRAY 8 深灰
BLUE 1 兰色 LIGHTBLUE 9 深兰
GREEN 2 绿色 LIGHTGREEN 10 淡绿
CYAN 3 青色 LIGHTCYAN 11 淡青
RED 4 红色 LIGHTRED 12 淡红
MAGENTA 5 洋红 LIGHTMAGENTA 13 淡洋红
BROWN 6 棕色 YELLOW 14 黄色
LIGHTGRAY 7 淡灰 WHITE 15 白色
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
对于 CGA 适配器, 背景色可以为表 3 中 16 种颜色的一种, 但前景色依赖于
不同
的调色板。共有四种调色板, 每种调色板上有四种颜色可供选择。不同调色板
所
对应的原色见表 4。
表 4 CGA 调色板与颜色值表
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
调色板 颜色值
─────────── ──────────────────
符号常数 数值 0 1 2 3
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
C0 0 背景 绿 红 黄
C1 1 背景 青 洋红 白
C2 2 背景 淡绿 淡红 黄
C3 3 背景 淡青 淡洋红 白
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
清除图形屏幕内容使用清屏函数, 其调用格式如下:
voide far cleardevice(void);
有关颜色设置、清屏函数的使用请看例 8。