Использование цветов
Язык программирования Паскаль поддерживает 16 основных цветов, обозначаемых соответственно номерами от 0 до 15 (см. таблицу 1).
Таблица 1 Константы цвета
Константа цвета |
Цвет |
Константа цвета |
Цвет |
0 (Black) |
Черный |
8 (DarkGray) |
Темносерый |
1 (Blue) |
Синий |
9 (LightBlue) |
Яркосиний |
2 (Green) |
Зеленый |
10 (LightGreen) |
Яркозеленый |
3 (Cyan) |
Голубой |
11 (LightCyan) |
Яркоголубой |
4 (Red) |
Красный |
12 (LightRed) |
Розовый |
5 (Magenta) |
Фиолетовый |
13 (LightMagenta) |
Малиновый |
6 (Brown) |
Коричневый |
14 (Yellow) |
Желтый |
7 (LightGray) |
Светлосерый |
15 (White) |
Белый |
Основными графическими операторами по работе с цветами являются процедуры модуля GRAPH под именами SetBkColor (служит для установки цвета фона) и SetColor (для установки цвета рисования).
Формат данных операторов следующий:
SetBkColor (Color: word);
SetColor (Color: word),
где переменная Color, имеющая целочисленный тип word, служит для указания требуемого номера цвета.
Например, операторы SetBkColor (1); SetColor (14) позволяют установить режим рисования желтым цветом по синему фону.
Создание графических объектов
В состав модуля GRAPH входит достаточно большое количество подпрограмм, служащих для вывода на экран разнообразных графических объектов. Основными процедурами данного типа являются:
Rectangle(x1, y1, x2, y2: integer) - служит для рисования прямоугольников, задаваемых координатами двух своих противоположных углов;
Bar(x1, y1, x2, y2: integer) - служит для рисования заштрихованных прямоугольников, используя при этом текущий стиль и цвет штриховки;
SetFillStyle(Pattern, Color: word) – устанавливает образец штриховки и ее цвет, где переменная Pattern обозначает номер шаблона штриховки (см. таблицу 2), а Color – номер цвета штриховки (см. таблицу 1);
Circle(x, y: integer; r: word) – рисует окружность радиуса r с центром в точке (x, y);
Line(x1, y1, x2, y2: integer) – рисует линию от точки (x1, y1) до точки (x2, y2);
PieSlice(x, y: integer; StAngle, EndAngle, r:word) – рисует и заштриховывает сектор окружности радиусом r с центром в (x, y) от начального угла StAngle к конечному углу EndAngle. При этом используется текущий стиль и цвет штриховки (см. процедуру SetFillStyle);
PutPixel(x, y:integer; Color:word) – выводит на экран точку цвета Color с координатами (x, y);
OutTextXY(x, y:integer; TextString:string) – выводит техт TextString в заданное координатами (x, y) место экрана.
Таблица 2 Шаблоны штриховки
Номер |
Стиль штриховки |
Номер |
Стиль штриховки |
0 |
Нет штриховки |
6 |
Наклонная влево |
1 |
Сплошная (заливка) |
7 |
В клетку по образцу +++ |
2 |
Горизонтальными линиями |
8 |
В клетку по образцу ххх |
3 |
Наклонная вправо |
9 |
Штриховка в мелкую клетку |
4 |
Наклонная вправо толстыми линиями |
10 |
Редкими точками |
5 |
Наклонная влево толстыми линиями |
11 |
Частыми точками |
Для построения для построения графиков функции, которые заданы в практической части курсового проекта будет использоваться специальная процедура Line( X1, Y1, X2, Y2 ), где X1, Y1 – координаты начала, а X2, Y2 – координаты конца отрезка.
Примеры.
Вывод вертикальной линии зеленого цвета в середине экрана.
SetColor(Green); x:=GetMaxX div 2; Line( x, 0, x, GetMaxY );
Вывод диагональной линии ярко-красного цвета.
SetColor(LightRed); Line( 0, 0, 639, 479 );
Для вычерчивания линий существует еще две процедуры: LineTo и LineRel. Процедура LineTo( X, Y ) строит отрезок прямой из точки текущего положения указателя в точку с координатами X, Y. Процедура LineRel( dX, dY ) проводит линию от точки текущего положения указателя в точку со смещением dX, dY.
