图形显示器的工作方式
(1).文本模式与字符坐标系
在未通过图形初始化之前的屏幕上,只能显示字符的方式称为文本模式。C语言能在指定位置显示字符,该坐标系以屏幕的左上角为坐标原点,水平向为x轴,自左向右;垂直方向为y轴,自上向下,坐标原点为(1,1)。能显示的行数、列数及颜色与显示方式有关。Turbo C支持6种不同的文本显示方式。
(2).图形模式与点坐标系
在屏幕上能显示图形的方式称为图形方式。屏幕是由像素点组成的,通过initgraph函数的gmode参数来指定屏幕的分辨率,分辨率决定了像素点的多少。
在图形方式下,屏幕上每个像素的显示位置用点坐标系来描述。
在该坐标系中,屏幕的左上角为坐标原点O(0,0),水平向为x轴,自左向右;垂直方向为y轴,自上向下。如图9-2所示。分辨率不同,水平方向和垂直方向上的点数也不一样,即其maxx、maxy的数值不同。
图9-2 屏幕坐标系
在Turbo C中,坐标数据有两种形式给出:一种是绝对坐标;另一种是相对坐标。绝对坐标的参考点是坐标的原点O(0,0),x和y的值只能取规定范围内的正整数,其坐标值在整个屏幕范围内确定。相对坐标是相对于“当前点”的坐标,所以其参考点不是坐标系的原点,而是当前点。要相对坐标中,x和y的取值是相对于当前点在X方向和Y方向上的增量,这个增量可以是正的,也可以是负的,所以x和y的值可以是正整数,也可以是负整数。此外,把在一个窗口范围内确定的坐标也称为相对坐标。
#include <graphics.h> // 绘图库头文件,绘图语句需要
#include <conio.h> //控制台输入输出头文件,getch()语句需要
void main()
{
initgraph(640, 480); // 初始化640x480的绘图屏幕
line(200, 240, 440, 240);// 画线(200,240) - (440,240)
line(320, 120, 320, 360);// 画线(320,120) -(320,360)
getch(); // 按任意键
closegraph(); // 关闭绘图屏幕
}
图9-3 运行结果图
本实例首先创建的绘图屏幕640x480,表示横向有640个点,纵向有480个点。注意:左上角是原点(0,0),也就是说,y轴和数学的y轴是相反的。
Getch()函数等待从键盘输入一个字符(即敲任意键),在敲任意键之前,图形一直保持在屏幕上。当敲了任意键后,程序执行语句closegraph()函数关闭绘图方式,回到文本方式。