ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.12.2024
Просмотров: 760
Скачиваний: 2
|
Стили заполнения геометрических фигур
|
||
|
Константа
|
Код
|
Описание
|
|
EmptyFill
|
0
|
Сплошное заполнение цветом фона
|
|
SolidFill
|
1
|
Сплошное заполнение заданным цветом
|
|
LineFill |
2
|
Заполнение горизонтальными линиями
|
|
LtSlashFill
|
3
|
Диагональное заполнение (///)
|
|
SlashFill
|
4
|
Диагональное заполнение толстыми линиями
|
|
BkSlashFill
|
5
|
Обратное диагональное заполнение толстыми линиями
|
|
LtBkSlashFill |
6
|
Обратное диагональное заполнение (\\\)
|
|
HatchFill
|
7
|
Клетчатое заполнение
|
|
XhatchFill
|
8
|
Косое клетчатое заполнение
|
|
InterleaveFill |
9 |
Чередующееся линейное заполнение |
|
WideDotFill
|
10
|
Редко расположенные точки
|
|
CloseDotFilI
|
11
|
Часто расположенные точки
|
|
UserFill
|
12
|
Стиль определен пользователем
|
Процедуры
Arc(X, Y: Integer; Ul, U2, R: Word)Строит дугу окружности текущим цветом с текущими параметрами линии. X, Y —координаты центра дуги;Ul— угол до начальной точки дуги, отсчитываемый против часовой стрелки от горизонтальной оси, направленной слева направо; U2 — угол до конечной точки дуги, отсчитываемый так же, какUl;R— радиус дуги.
Bar(Xl, Yl, X2, Y2: Integer)Строит прямоугольник, закрашенный текущим цветом с использованием текущего стиля (орнамента, штриховки). XI, Yl, X2, Y2 — координаты левого верхнего и правого нижнего углов прямоугольника.
Bar3D(Xl, Yl,X2, Y2: Integer; Glubina; Word; Top: Boolean) Строит параллелепипед, используя текущий стиль и цвет. XI,Yl,X2, Y2 — координаты левого верхнего и правого нижнего углов передней грани;Glubina— ширина боковой грани (отсчитывается по горизонтали); Тор — признак включения верхней грани (еслиTrue— верхняя грань вычерчивается,False— не вычерчивается).
Circle(X, Y: Integer; R: Word)Рисует текущим цветом окружность радиуса R с центром в точке (X, Y).
ClearDevice Очищает графический экран, закрашивает его в цвет фона.
ClearViewPort Очищает выделенное графическое окно, закрашивает его в цвет фона.
CloseGraphЗакрывает графический режим, т. е. освобождает память, распределенную под драйверы графики и файлы шрифтов, и восстанавливает текстовый режим работы экрана.
Ellipse(X, Y: Integer; Ul,U2, XR, YR: Word)Рисует дугу эллипса текущим цветом. X, Y —координаты центра эллипса; Ul, U2 - углы до начальной и конечной точек дуги эллипса (см. процедуруArc);XR,YR— горизонтальная и вертикальная полуоси эллипса.
FillEllipse(X, Y: Integer; XR, YR: Word) Рисует заштрихованный эллипс, используя X, Y как центр и XR, как горизонтальную и вертикальную полуоси эллипса.
FillPoly(N: Word; Var PolyPoints)Рисует и штрихует многоугольник, содержащий N вершин с координатами вPolyPoints.
InitGraph(Var Driver, Mode: Integer; Path: String)Организует переход в графический режим. ПеременныеDriverиModeсодержат тип графического драйвера и его режим работы. Третий параметр определяет маршрут поиска графического драйвера. Если строка пустая (т. е. равна "), считается, что драйвер находится в текущем каталоге.
Line(Xl, Yl,X2, Y2: Integer) Рисует линию от точки XI, Yl до точки X2, Y2.
LineTo(X, Y: Integer) Рисует линию от текущего указателя к точке X, Y.
MoveTo(X, Y: Integer) Смещает текущий указатель к точке X, Y.
OutTextXY(X, Y: Integer; TextString:String) Выводит текст в заданное место экрана.
PieSlice(X, Y: Integer; Ul, U2, Radius: Word) Строит сектор круга, закрашенный текущей штриховкой и цветом заполнения. X, Y - координаты центра сектора круга; Ul и U2 - начальный и конечный углы сектора, отсчитываемые против часовой стрелки от горизонтальной оси, направленной вправо;Radius— радиус сектора.
PutPixel(X, Y: Integer; Color: Word)Выводит точку цветомColorс координатами X, Y.
Rectangle(Xl, Yl, X2,Y2) Рисует контур прямоугольника, используя текущий цвет и тип линии. XI, Yl — координаты левого верхнего угла прямоугольника; X2, Y2 — координаты правого нижнего угла прямоугольника.
Sector(X, Y: Integer; Ul, U2, XR, YR: Word)Рисует и штрихует сектор эллипса радиусами XR, YR с центром вX,Y от начального угла Ul к конечному углу U2.
SetBkColor(Color: Word)Устанавливает цвет фона.
SetColor(Color: Word) Устанавливает основной цвет рисования.
SetFaiStyle(Pattern, Color: Word) Устанавливает образец штриховки и цвет.
SetLineStyle(LineStile, Pattern, Thickness: Word) Устанавливает толщину и стиль линии.
SetTextStyle(Font, Direction, CharSize: Word) Устанавливает текущий шрифт, направление (горизонтальное или вертикальное) и размер текста.
SetViewPort(Xl, Yl,X2, Y2: Integer; ClipOn: Boolean) Устанавливает прямоугольное окно на графическом экране. Параметр ClipOn определяет «отсечку» элементов изображения, не умещающихся в окне.
Функции
GetMaxX и GetMaxYВозвращают значения максимальных координат экрана в текущем режиме работы соответственно по горизонтали и вертикали.
GraphResultВозвращает значениеGrOk, соответствующее коду 0, если все графические операции программы выполнились без ошибок, или возвращает числовой код ошибки (от -1 до -14).
Заполнение графического экрана диагональными линиями
Program diagonals;
Uses Graph;
var gd, gm, i : Integer;
Begin
gd := Detect;
InitGraph(gd, gm, ' ');
i := -GetMaxY;
while i <= GetMaxY do
begin
Line(0, i, GetMaxX, i GetMaxY);
i := i + 20:
end;
Readln;
CloseGraph;
End.
Рисование 14 разноцветных вертикальных полос, окрашенных 14 цветами (кроме белого и черного). (Можно с помощью процедур рисования линий и установки цвета).
Program stripes;
Uses Graph;
var
gd, gm, с, х, у, i Integer;
Begin
gd := Detect;
InitGraph(gd, gm, ' ' );
SetBkColor(white);
ClearDevice;
x :=0;
for с := 1 to 14 do
begin
x := x + 35;
SetColor(c);
Line(x, 0, x, 400);
for 1 :=1 to 5 do Line(x + i, 0, x + i, 400); {Рисуем 6 полос}
end;
Readln;
CloseGraph;
End.
Программа рисует картинку, состоящую из разноцветных кружков.
Program bubbles;
Uses Graph, Crt;
var gd, gm, ec, uf : Integer;
Begin
gd := Detect;
gm := 0;
InitGraph(gd, gm, ' ');
Randomize; {Инициализация датчика случайных чисел}
for gm := 1 to 500 do
begin
ес := ес + 1;
if ec = 16 then ec := 1;
SetColor(ec);
Circle(Random(GetMaxX), Random(GetMaxY), Random(gd + 10));
end;
SetColor(Random(White));
SetTextStyle(0, HorizDir, 5);
OutTextXY(50, 29, 'Bubbles');
ReadKey;
CloseGraph;
End.
Программа рисует 16 разноцветных кружков, равномерно расположенных на отрезке прямой, соединяющем точки (х1, у1) и (х2, у2), в каждом из которых помещен один символ текстовой строки:
Program vinnie;
Uses Graph, Crt;
var