Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Обводит линией и закрашивает замкнутый многоугольник. Заголовок:
Procedure FillPoly(N: Word; var Coords);
Здесь N – количество вершин замкнутого многоугольника; Coords – переменная типа PointType, содержащая координаты вершин.
Координаты вершин задаются парой значений типа Integer: первое определяет горизонтальную, второе вертикальную координаты. Для них можно использовать следующий определенный в модуле тип:
type
PointType = record
х, у: Integer
end;
Стиль и цвет линии контура задаются процедурами SetLineStyle и SetColor, тип и цвет заливки – процедурой SetFillStyle.
В следующем примере на экран выводятся случайные закрашенные многоугольники.
Uses Graph, CRT;
var
d, r, e: Integer;
p: array [1..6] of PointType; n, k: Word;
begin
{Инициируем графику}
d:= Detect; InitGraph(d, r, ' ');
e:= GraphResult; if e <> grOk then
WriteLn(GraphErrorMsg(e))
else
begin
{Создаем окно в центре экрана}
d:= GetMaxX div 4;
r:= GetMaxY div 4;
Rectangle(d,r,3*d,3*r);
SetViewPort(d+l,r+l,3*d-l,3*r-l,ClipOn);
{Цикл вывода случайных закрашенных многоугольников}
repeat
{Выбираем случайный цвет и узор)
SetFillStyle(Random(12),Random(succ(GetMaxColor)));
SetColor (Random(succ(GetMaxColor)));
{Назначаем случайные координаты}
n:= Random (4) + 3; for k:= 1 to n do with p[k] do
begin
x:= Random (GetMaxX div 2);
у:= Random (GetMaxY div 2)
end;
FillPoly (n, p) {Выводим и закрашиваем}
until KeyPressed;
if ReadKey=#0 then k:= ord(ReadKey);
CloseGraph
end
end.
Дата публикования: 2014-11-04; Прочитано: 229 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!