Procedure FloodFill (X, Y: integer, Граница: word)
Заполняет область ограниченную цветом "Граница", используя для этого текущий шаблон и цвет заполнения. Здесь X,Y задают координаты любой точки, расположенной внутри закрашиваемой области.
Procedure PutPiXel (X, Y, Цвет)
Рисует точку (пиксел) с координатами X,Y.
Procedure Line (X, Y, X1, Y1: integer)
Рисует прямую линию от точки с координатами X,Y к точке X1,Y1.
Procedure LineTo (X, Y: integer)
Рисует прямую линию из точки, в которой находится текущий указатель, в точку с координатами (X,Y).
Procedure LineRel (DX, DY: integer)
Рисует прямую линию из точки (X, Y), в которой находится текущий указатель, в точку с координатами (X+DX,Y+DY).
Procedure Rectangle (X, Y, X1, Y1: integer)
Рисует прямоугольник, где: (X,Y)-координаты верхнего левого угла, (X1,Y1) - координаты правого нижнего угла прямоугольника (координаты главной диагонали).
А(X,Y)
B(X1,Y1)
Procedure Bar (X1, Y1, X2, Y2: integer)
Рисует полосу, используя текущий цвет и стиль. Иногда эту процедуру называют рисованием закрашенного прямоугольника.
А(X1,Y1)
B(X2,Y2)
Procedure Circle (X, Y, radius: integer)
Рисует окружность указанного радиуса с центром в точке (X,Y).
3.8. procedure Arc (X, Y: integer; Angle1, Angl2, R: word)
Вычерчивает дугу окружности от начального угла Angle1 до конечного угла Angle2 с радиусом R. Точка (X, Y) используется как центр соответствующей дуге окружности.
Procedure Ellipse (X, Y: integer; Angle1, Angl2, RX, RY: word)
Вычерчивает дугу эллипса от начального угла Angle1 до конечного угла Angle2 с радиусом R. Точка (X, Y) используется как центр соответствующего дуге эллипса, а RX, RY – горизонтальная и вертикальная оси.
|
|
Procedure FillEllipse (X, Y: integer; RX, RY: word)
Вычерчивает закрашенный эллипс. Точка (X, Y) используется как центр эллипса, а RX, RY задают его горизонтальную и вертикальную оси.
Procedure Sector (X, Y: integer; Angle1, Angl2, RX, RY: word)
Вычерчивает и заполняет эллиптический сектор.
Procedure OutText (TextString: String)
Выводит на экран строку (текст) в то место, в котором находится текущий указатель.
Procedure OutTextXY (X, Y: integer; TextString: String)
Выводит на экран строку (текст) в точку (X, Y).
Function ImageSize (X1, Y1, X2, Y2: integer): word
Возвращает (запоминает в буфере обмена) число байт прямоугольной области экрана (X1, Y1) – (X2, Y2), внутри которой находится изображение. Эта функция необходима для функции GetImage, которая сохраняет двоичный образ заданной области экрана в динамической памяти компьютера.
(X1,Y1)
(X2, Y2) |
Function GetMem (BitMap:pointer; Size: word)
Выделяет место в динамической памяти под хранение фрагмента изображения. Здесь BitMap - переменная типа pointer хранит ссылку на начало «кучи», где будет храниться фрагмент, а Size - размер фрагмента, полученный с помощью ImageSize.
Procedure PutImage (X, Y: integer; var BitMap: pointer; Mode: word)
|
|
Возвращает образ фрагмента из памяти на экран монитора, где X, Y - координаты точки экрана (левый верхний угол прямоугольника), начиная с которой будет выводиться фрагмент Параметр Mode определяет, какой двоичный оператор будет использоваться для вывода двоичного образа области на экран. Например, PutImage (X, Y, BitMap, NormalPut);
(X, Y)
|
Procedure GetImage (X1, Y1, X2, Y2: integer; var BitMap: pointer)
Сохраняет образ фрагмента в динамической памяти, где X1, Y1, X2, Y2 - координаты фрагмента, а BitMap - нетипизированная ссылка.
Основные приемы работы с графикой
Рассмотрим теперь основные приемы работы с графикой, которые включают в себя работу с цветом, вывод точек, построение плоских и объемных прямоугольных фигур, построение окружностей и эллипсов, а также их дуг и секторов, вывод текста и организацию эффекта анимации (движения объектов по экрану).
Работа с цветом
Установка цвета изображения. Драйвер egavga.bgi позволяет использовать 16 цветов. Каждому цвету присвоен код – целое число, которое используется процедурами и функциями.
Цвет выводимых в графическом режиме на экран линий и символов можно задать процедурой SetColor (Сolor: word), аргумент которой – целое число от 0 до 15 или имя одной из приведенных выше констант. Установка цвета действует на те линии и тексты, которые выводятся после ее вызова, но не меняет цвет линий и символов, выведенных на экран ранее. Таким образом, процедуру SetColor следует вызывать каждый раз перед выбором нового цвета. Если цвет не установлен, то используется белый цвет.
|
|
Установка цвета фона. Чтобы установить цвет фона для всего экрана, используется процедура SetBkColor (Color: word). Если процедура установки цвета фона не вызвана, экран будет черным.
Работа с цветом осуществляется, прежде всего, на базе названия и кодов цветов, используемых в соответствующих процедурах языка. Кодировка используемых цветов представлена в таб. 1.
Таб. 1. Цветовая шкала
Цвет | Код | Цвет | Код |
Black Blue Green Cyan Red Magenta Brown LightGray | 0 1 2 3 4 5 6 7 | DarkGray LightBlue LightGreen LightCyan Lightred LightMagenta Yellow White | 8 9 10 11 12 13 14 15 |
Цвет и стили заполнения. В графике TurboPascal работа с цветом осуществляется по-разному. Одним из приемов является окраска точки и линий (прямая, окружность, эллипс) с помощью процедуры Color. Другим – заполнение внутренних областей фигур с помощью так называемого наполнения, которое включает в себя как цвет, так и стиль заполнения.
|
|
Hекоторые операторы, например Bar, служат для построения закрашенных фигур. Цвет заполнения для этих фигур задается процедурой SetFillStyle (Стиль: word; Цвет: word), которая устанавливает шаблон заполнения и цвет. Cтандартные стили заполнения представлены в таб. 2.
Таб. 2. Стандартные стили заполнения
Значение | Маска |
0 1 2 3 4 5 6 7 8 9 10 11 | Заполнение цветом фона Заполнение текущим цветом Заполнение символами --, цвет - color Заполнение символами // нормальной толщины, цвет - color Заполнение символами // удвоенной толщины, цвет - color Заполнение символами \\ удвоенной толщины, цвет - color Заполнение символами \\ нормальной толщины, цвет - color Заполнение вертикально-горизонтальной штриховкой тонкими линиями, цвет - color Заполнение штриховкой крест-накрест по диагонали "редкими" тонкими линиями, цвет - color Заполнение штриховкой крест-накрест по диагонали "частыми" тонкими линиями, цвет - color Заполнение "редкими" точками Заполнение "частыми" точками |
Перед выводом на экран какого-либо изображения иногда требуется очистить экран. Для этого используется процедура ClearViewPort. Есть еще и процедура ClearDevice, которая очищает графический экран и устанавливает указатель в левый верхний угол.
Дата добавления: 2018-11-24; просмотров: 299; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!