ВУЗ:
Составители:
Рубрика:
99
Однако данная процедура годится только для построения прямоугольни-
ков, стороны которых параллельны осям координат.
DrawPoly( NumPoints:Word; Var PolyPoints)- используется для
изображения фигур, образованных ломаными линиями. В параметре
NumPoints задается число, на единицу большее количества вершин мно-
гоугольника. Параметр PolyPoints содержит координаты вершин. Они
должны быть перечислены последовательно в порядке обхода по контуру.
Каждая вершина определяется двумя координатами, сначала указывается
координата х, а за ней - у. В конце повторно указывается пара
координат
первой заданной вершины, поэтому количество пар должно быть равно
NumPoints+1.
Пример:
Выведем на экран ромб, изображенный на рисунке.
x= GetMaxX div 2
y=GetMaxY div 2
Рис.3.
Uses Graph,Crt;
{Введем тип данных для хранения координат точ-
ки изображения}
Type Point=Record
x:Word;
у:Word;
end;
Var gmx, gmy:Integer;
{Переменная Romb содержит координаты вер-
шин}
Romb:Array[1..5] of Point;
delta:Word;
{$1 D:/pas/init.pas}
Begin
Init;
{Установим цвета и параметры линий}
100
SetColor(Red) ;
SetBkColor(Blue) ;
SetLineStyle(0, 1, 1) ;
gmx:=GetMaxX div 2;
gmy:=GetMaxY div 2;
delta:=50
{Определим все координаты вершин ромба}
Romb[1].х =gmx;
Romb[1].y =gmy – delta;
Romb[2].х =gmx + delta;
Romb[2].у =gmy;
Romb[3].х =gmx;
Romb[3].y =gmy + delta;
Romb[4].x =grox – delta;
Romb[4].у =gmy;
Romb[5].х =gmx;
Romb[5].у=gmy – delta;
{Выведем ромб на экран}
DrawPoly(5,Romb) ;
Repeat Until KeyPressed;
CloseGraph;
end.
Рисование закрашенных фигур
FloodFill(X, Y:Integer; Border:Word)- заполняет уже нарисованный
контур фигуры. Параметры Х и Y должны содержать координаты точки, на-
ходящейся внутри заполняемой области, а Border - цвет линии, до которой
производится закрашивание, то есть цвет контура. Контур должен быть пол-
ностью замкнутым, в противном случае заливка распространится через
имеющуюся щель, даже шириной в 1 пиксель, за пределы области.
Цвет и
узор заполнения необходимо определить до использования про-
цедуры FloodFill.
SetFillStyle(Patter, Color:Word)- используется для задания стандартно-
го орнамента и цвета заполнения фигур. Первый параметр, Pattern,
определяет тип заполнения, а второй, Color, - цвет.
Необходимо помнить, что контур должен быть образован линией
сплошного типа, если контур образован например пунктиром, то заполнение
выйдет за пределы контура.
Рассмотрим использование нескольких процедур построения закра-
шенных фигур на примере следующей программы.
Однако данная процедура годится только для построения прямоугольни- SetColor(Red) ; ков, стороны которых параллельны осям координат. SetBkColor(Blue) ; DrawPoly( NumPoints:Word; Var PolyPoints)- используется для SetLineStyle(0, 1, 1) ; gmx:=GetMaxX div 2; изображения фигур, образованных ломаными линиями. В параметре gmy:=GetMaxY div 2; NumPoints задается число, на единицу большее количества вершин мно- delta:=50 гоугольника. Параметр PolyPoints содержит координаты вершин. Они {Определим все координаты вершин ромба} должны быть перечислены последовательно в порядке обхода по контуру. Romb[1].х =gmx; Каждая вершина определяется двумя координатами, сначала указывается Romb[1].y =gmy delta; Romb[2].х =gmx + delta; координата х, а за ней - у. В конце повторно указывается пара координат Romb[2].у =gmy; первой заданной вершины, поэтому количество пар должно быть равно Romb[3].х =gmx; NumPoints+1. Romb[3].y =gmy + delta; Пример: Romb[4].x =grox delta; Выведем на экран ромб, изображенный на рисунке. Romb[4].у =gmy; Romb[5].х =gmx; Romb[5].у=gmy delta; x= GetMaxX div 2 {Выведем ромб на экран} y=GetMaxY div 2 DrawPoly(5,Romb) ; Repeat Until KeyPressed; CloseGraph; end. Рисование закрашенных фигур FloodFill(X, Y:Integer; Border:Word)- заполняет уже нарисованный контур фигуры. Параметры Х и Y должны содержать координаты точки, на- Рис.3. ходящейся внутри заполняемой области, а Border - цвет линии, до которой Uses Graph,Crt; {Введем тип данных для хранения координат точ- производится закрашивание, то есть цвет контура. Контур должен быть пол- ки изображения} ностью замкнутым, в противном случае заливка распространится через Type Point=Record имеющуюся щель, даже шириной в 1 пиксель, за пределы области. x:Word; Цвет и узор заполнения необходимо определить до использования про- у:Word; цедуры FloodFill. end; Var gmx, gmy:Integer; SetFillStyle(Patter, Color:Word)- используется для задания стандартно- {Переменная Romb содержит координаты вер- го орнамента и цвета заполнения фигур. Первый параметр, Pattern, шин} определяет тип заполнения, а второй, Color, - цвет. Romb:Array[1..5] of Point; Необходимо помнить, что контур должен быть образован линией delta:Word; сплошного типа, если контур образован например пунктиром, то заполнение {$1 D:/pas/init.pas} Begin выйдет за пределы контура. Init; Рассмотрим использование нескольких процедур построения закра- {Установим цвета и параметры линий} шенных фигур на примере следующей программы. 99 100
Страницы
- « первая
- ‹ предыдущая
- …
- 48
- 49
- 50
- 51
- 52
- …
- следующая ›
- последняя »