рисует контур прямоугольника текущим цветом.
x1, y1 —
координаты левого верхнего угла прямоугольника.
x2, y2 —
координаты правого нижнего угла прямоугольника
( необходимо, чтобы 0 ≤ x1 < x2 ≤ GetMaxX и 0 ≤ y1 < y2 ≤ GetMaxY ).
Текущий цвет задается процедурой SetColor, текущие параметры линии — процедурой SetLineStyle, а режим построения линии — процедурой SetWriteMode.
Bar ( x1, y1, x2, y2 : Integer ) ;
—
рисует закрашенный прямоугольник текущим орнаментом и цветом заполнения.
x1, y1, x2, y2 —
координаты левого верхнего и правого нижнего углов прямоугольника.
Орнамент и цвет заполнения задаются процедурой SetFillStyle или SetFillPattern.
рисует трехмерный параллелепипед и закрашивает его переднюю грань.
x1, y1, x2, y2 —
координаты левого верхнего и правого нижнего углов передней грани.
Depth —
«глубина» параллелепипеда — ширина боковой грани в пикселях (отсчитывается по горизонтали).
Top —
признак включения верхней грани (если True — верхняя грань вычерчивается, в противном случае верхняя грань не отображается — используется при изображении нескольких параллелепипедов один над другим).
В модуле Graph определенны следующие константы:
Const
TopOn = True;
TopOff = False;
Параллелепипед «прозрачен — за не закрашенными гранями могут быть видны другие элементы изображения.
Текущий цвет трехмерного контура параллелепипеда задается процедурой SetColor, текущие параметры линии — процедурой SetLineStyle, а режим построения линии — процедурой SetWriteMode. Орнамент и цвет заполнения передней грани задаются процедурой SetFillStyle или SetFillPattern.
Процедура часто применяется для построения столбчатых диаграмм.
Если возникает ошибка, то GraphResult возвращает значение -6.
Пример 12.10
. . .
{ Типичный параметр «глубины» - 25% ширины параллелепипеда : }
Bar3d ( x1,y1,x2,y2, (x2 - x1 ) div 4, TopOn ) ;
. . .
{ один параллелепипед над другим: }
y0:= 10 ;y1:= 60 ;y2:= 110 ;
x1:= 10 ;x2:= 50 ;
Bar3d ( x1,y0,x2,y1, 10, TopOn ) ;
Bar3d ( x1,y1,x2,y2, 10, TopOff ) ;
. . .
DrawPoly ( NumPoints : Word; var PolyPoints ) ;
—
рисует текущим цветом ломаную линию, заданную координатами точек излома, включая обе крайние точки (в частности, контур замкнутого многоугольника).
NumPoints —
число пар координат точек — вершин ломаной, включая обе крайние точки — задаваемых параметром PolyPoints ( при этом для замкнутого n-угольника NumPoints = n + 1 ).
PolyPoints —
переменная без типа, содержащая пары координат точек излома (координаты должны перечисляться в той последовательности, как они идут по контуру, причем для замкнутого n-угольника первая вершина должна быть повторена в конце перечисления).
Координаты точек излома задаются парой значений типа Word: первое определяет горизонтальную, второе — вертикальную координаты. Для них можно использовать следующий определенный в модуле Graph тип:
Type
PoitType = Record
x, y : Word
End ;
Текущий цвет задается процедурой SetColor, текущие параметры линии — процедурой SetLineStyle, а режим построения линии — процедурой SetWriteMode.
рисует текущим цветом замкнутый многоугольник и закрашивает его текущим орнаментом и цветом заполнения.
NumPoints —
число вершин n-угольника ( NumPoints = n + 1 ).
PolyPoints —
переменная без типа, содержащая пары координат вершин многоугольника (координаты должны перечисляться в той последовательности, как они идут по контуру, причем первая вершина должна быть повторена в конце перечисления).
Текущий цвет контура задается процедурой SetColor, текущие параметры линии — процедурой SetLineStyle, а режим построения линии — процедурой SetWriteMode. Орнамент и цвет заполнения задаются процедурой SetFillStyle или SetFillPattern.
Пример 12.12 (рисунок закрашенного пятиугольника):
закрашивает область, ограниченную непрерывной линией, текущим орнаментом и цветом заполнения до границы заданного цвета.
x, y —
координаты любой точки внутри закрашиваемой области.
Border —
цвет линии, до которой производится закрашивание.
Если фигура не замкнута, заполнение «разольется» по всему экрану.
Если возникает ошибка, то GraphResult возвращает значение -7.
Орнамент и цвет заполнения задаются процедурой SetFillStyle или SetFillPattern.
Пример 12.13 (закрашивание прямоугольника):
. . .
SetColor ( Blue ) ;
Rectangle ( 0, 0, 100, 150 ) ;
FloodFill ( 10, 10, Blue ) ;
. . .
SetFillStyle ( Pattern, Color : Word ) ;
—
задает стандартный орнамент и цвет заполнения фигур.
Pattern —
задаваемый стандартный параметр орнамента, определяемый одной из следующих констант модуля Graph:
Сonst
EmptyFill = 0 ; { без узора — заполнение фоном }
SolidFill = 1 ; { однородное заполнение }
LineFill = 2 ; { заполнение - - - - }
LtSlashFill = 3 ; { заполнение ///// }
SlashFill = 4 ; { заполнение утолщенными ////// }
BkSlashFill = 5 ; { заполнение утолщенными \\\\\\ }
LtBkSlashFill = 6 ;{ заполнение \\\\\\\\\ }
HatchFill = 7 ; { заполнение ++++++++ }
XHatchFill = 8 ; { заполнение ххххххх }
InterleaveFill = 9 ; { заполнение частой сеткой }
WideDotFill = 10 ; { заполнение редкими точками }
CloseDotFill = 11 ;{ заполнение частыми точками }
UserFill = 12 ; { узор определяется пользователем }
Если орнамент заполнения имеет значение UserFill, то рисунок узора определяется программистом путем обращения к процедуре SetFillPattern.
Color —
цвет заполнения фигур (номер цвета в палитре).
В случае аварийной ситуации (недопустимые входные данные) процедура устанавливает код ошибки: -11, а текущий орнамент и цвет не изменяются.
SetFillPattern ( Pattern : FillPatternType; Color : Word ) ;
—
задает произвольный (пользовательский) орнамент, а также цвет заполнения фигур.
Pattern —
задаваемый пользователем орнамент — параметр типа FillPatternType, определенный в модуле Graph:
Type
FillPatternType = Array[ 1..8 ] of Byte ;
Color —
цвет заполнения фигур (номер цвета в палитре).
Согласно типу, образец орнамента задается в виде матрицы из 8´8 пикселей. Каждый разряд любого из этих байтов управляет светимостью пикселя, причем первый байт определяет 8 пикселей первой строки на экране, второй байт — 8 пикселей второй строки и т.д.
В случае аварийной ситуации (недопустимые входные данные) процедура устанавливает код ошибки: -11, а текущий орнамент и цвет не изменяются.
Пример 12.14 (приводятся два пользовательских орнаментов заполнения — для каждых 8 пикселей приводится шестнадцатеричный код соответствующего байта, а также программа, рисующая два прямоугольника с использованием приведенных орнаментов):
Образец 1
Значение байта
Образец 2
Значение байта
$49
$00
$92
$18
$49
$24
$92
$42
$49
$42
$92
$24
$49
$18
$92
$00
Закрашенному квадрату соответствует 1, не закрашенному — 0. Таким образом, получаем двоичное представление шестнадцатеричного числа: например, первая строка первого образца: 01001001 — двоичное представление шестнадцатеричного числа 49.