IPB

> FillPoly (процедура) (модуль Graph)
Чат
Форум
Загрузка...
 

Язык:
Русский
English

 FillPoly (процедура)   (модуль Graph)


Рисует закрашенный многоугольник.

Объявление

 Procedure FillPoly(NumPoints : Word; Var PolyPoints);

Режим

Real, Protected

Замечания

Параметр PolyPoints — нетипизированный параметр, который содержит координаты точек, образующих многоугольник. NumPoints содержит число координат в PolyPoints. Каждый компонент PolyPoints состоит из двух значений типа IntegerX и Y. Если бы семантика Turbo Pascal позволяла такие конструкции, PolyPoints имел бы тип array[1 .. NumPoints] of PointType или array[1 .. 2 * NumPoints] of Integer, однако язык это не предусматривает, поэтому параметр нетипизирован. Заметьте, что для рисования замкнутой фигуры с N гранями, в параметре PolyPoints должно содержаться N+1 компонентов (координаты начальной и конечной точек должны совпадать).

Процедура FillPoly вычисляет все горизонтальные пересечения, а затем закрашивает многоугольник, используя текущий стиль и цвет закраски, определённые с помощью процедур SetFillStyle и SetFillPattern. Контур многоугольника выделяется текущим цветом и типом линии, установленными при обращении к процедурам SetLineStyle и SetColor.

Если при заполнение многоугольника происходит ошибка, то в переменной GraphResult возвращается значение grNoScanMem.

Ограничения

Нужно быть в графическом режиме.

См. также

Пример

Язык:
Русский
English


 { Пример программы для процедуры FillPoly }

uses Graph;

const Triangle : array[1 .. 3] of PointType =
  ((X : 50;  Y : 100),
   (X : 100; Y : 100),
   (X : 150; Y : 150));
var
  Gd, Gm : Integer;

begin
  Gd := Detect;
  InitGraph(Gd, Gm, 'X:\BP'); { Путь к BGI-драйверам }
 if GraphResult <> grOk then
   Halt(1);
  FillPoly(SizeOf(Triangle) div SizeOf(PointType), Triangle);
 ReadLn;
  CloseGraph;
end.

Более сложный пример: Домик в Паскале

 
 К началу страницы 
Тэги: FillPoly
 

Код для вставки: :: :: :: ГОСТ ::
Поделиться: //
 



-
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"