В состав модуля 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 Шаблоны штриховки
Номер
Стиль штриховки
Номер
Стиль штриховки
Нет штриховки
Наклонная влево
Сплошная (заливка)
В клетку по образцу +++
Горизонтальными линиями
В клетку по образцу ххх
Наклонная вправо
Штриховка в мелкую клетку
Наклонная вправо толстыми линиями
Редкими точками
Наклонная влево толстыми линиями
Частыми точками
Пример 2
program pr2;
uses Graph;
var d,m,i,a:integer;
begin
d:=0;
m:=0;
InitGraph(d, m,'d:\bp\bgi');{Переход в графический режим}
setBkcolor(11);{Установка ярко голубого цвета фона}
for i:=15 downto 0 do
begin
SetFillStyle(1,i); {Установка стиля штриховки (1 - сплошная) и ее цвета (меняется в зависимости от значения переменной i) }
a:=i*10;
Bar(320-a,240-a,320+a,240+a); {Рисование закрашенных квадратов со стороной 2а}
end;
readln;
Closegraph;
end.
Результатом работы приведенной выше в примере 2 программы будет рисунок, изображающий систему из 15 вложенных друг в друга разноцветных квадратов. На каждом шаге цикла рисуется один квадрат, причем цвет его заливки меняется в зависимости от номера шага. Вид полученной при этом фрактальной композиции представлен на рисунке 1.
Рисунок 1 Фрактальная композиция, построенная в виде системы из вложенных разноцветных квадратов