Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Простейшие графические операторы (процедуры) языка TurboPascal↑ ⇐ ПредыдущаяСтр 4 из 4 Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Графические операторы языка Паскаль основаны на операторах вызова процедур (c параметрами и без параметров) модуля GRAPH, и все они делятся, в зависимости от их функционала, на следующие группы: 1. Работа с экраном. 2. Установка цвета. 3. Рисование графических примитивов (изображений). 4. Работа с текстом. 5. Организация анимаций. Рассмотрим в порядке следования указанных действий наиболее распространенные процедуры и функции системы программирования TurboPascal 7.0. 1.1. procedure InitGRAPH (dvar, mvar, path) Инициализирует графический режим работы дисплея. 1.2. procedure ClearViewport Очищает экран монитора от имеющихся на нем ранее построенных изображений. 1.3. procedure MoveTo (X, Y) Перемещает текущий указатель (CP) в точку с координатами X, Y. Например, процедура MoveTo (200,100) переместит текущий (невидимый) указатель в точку экрана с координатами (200, 100). 1.4. procedure CloseGRAPH Закрывает графический режим работы монитора (переход в символьный режим). 2.1. procedure SetColor (Цвет: word) Устанавливает основной цвет, которым будет осуществляться рисование изображений. Цвет задается либо своим английским названием, либо его числовым кодом. 2.2. procedure SetBkColor (Цвет: word) Устанавливает цвет фона, на котором рисуется изображение, при этом надо помнить о том, что совпадение цветов фона и цвета изображения приводит к. невидимости на экране этого изображения. 2.3. procedure SetFillStyle (Шаблон: word, Цвет: word) Устанавливает шаблон заполнения и цвет. "Шаблон" (шаблон заполнения) может принимать значения от 1 до 12, например: 0 - заполнение цветом фона, 1 - заполнение текущим цветом. 2.4. procedure FloodFill (X, Y: integer, Граница: word) Заполняет область ограниченную цветом "Граница", используя для этого текущий шаблон и цвет заполнения. Здесь X, Y задают координаты любой точки, расположенной внутри закрашиваемой области. 3.1. procedure PutPiXel (X, Y, Цвет) Рисует точку (пиксель) с координатами X, Y. 3.2. procedure Line (X, Y, X1, Y1: integer) Рисует прямую линию от точки с координатами X, Y к точке X1,Y1. 3.3. procedure LineTo (X, Y: integer) Рисует прямую линию из точки, в которой находится текущий указатель, в точку с координатами (X, Y). 3.4. procedure LineRel (DX, DY: integer) Рисует прямую линию из точки (X, Y), в которой находится текущий указатель, в точку с координатами (X+DX, Y+DY). 3.5. procedure Rectangle (X, Y, X1, Y1: integer) Рисует прямоугольник, где: (X, Y)-координаты верхнего левого угла, (X1,Y1) - координаты правого нижнего угла прямоугольника (координаты главной диагонали). А(X, Y) B(X1,Y1) 3.6. procedure Bar (X1, Y1, X2, Y2: integer) Рисует полосу, используя текущий цвет и стиль. Иногда эту процедуру называют рисованием закрашенного прямоугольника. А(X1,Y1) B(X2,Y2) 3.7. procedure Circle (X, Y, radius: integer) Рисует окружность указанного радиуса с центром в точке (X, Y). 3.8. procedure Arc (X, Y: integer; Angle1, Angl2, R: word) Вычерчивает дугу окружности от начального угла Angle1 до конечного угла Angle2 с радиусом R. Точка (X, Y) используется как центр соответствующей дуге окружности. 3.9. procedure Ellipse (X, Y: integer; Angle1, Angl2, RX, RY: word) Вычерчивает дугу эллипса от начального угла Angle1 до конечного угла Angle2 с радиусом R. Точка (X, Y) используется как центр соответствующего дуге эллипса, а RX, RY – горизонтальная и вертикальная оси. 3.10. procedure FillEllipse (X, Y: integer; RX, RY: word) Вычерчивает закрашенный эллипс. Точка (X, Y) используется как центр эллипса, а RX, RY задают его горизонтальную и вертикальную оси. 3.11. procedure Sector (X, Y: integer; Angle1, Angl2, RX, RY: word) Вычерчивает и заполняет эллиптический сектор. 4.1. procedure OutText (TextString: String) Выводит на экран строку (текст) в то место, в котором находится текущий указатель. 4.2. procedure OutTextXY (X, Y: integer; TextString: String) Выводит на экран строку (текст) в точку (X, Y). 5.1. function ImageSize (X1, Y1, X2, Y2: integer): word Возвращает (запоминает в буфере обмена) число байт прямоугольной области экрана (X1, Y1) – (X2, Y2), внутри которой находится изображение. Эта функция необходима для функции GetImage, которая сохраняет двоичный образ заданной области экрана в динамической памяти компьютера.
5.2. function GetMem (BitMap:pointer; Size: word) Выделяет место в динамической памяти под хранение фрагмента изображения. Здесь BitMap - переменная типа pointer хранит ссылку на начало «кучи», где будет храниться фрагмент, а Size - размер фрагмента, полученный с помощью ImageSize. 5.3. procedure PutImage (X, Y: integer; var BitMap: pointer; Mode: word) Возвращает образ фрагмента из памяти на экран монитора, где X, Y - координаты точки экрана (левый верхний угол прямоугольника), начиная с которой будет выводиться фрагмент Параметр Mode определяет, какой двоичный оператор будет использоваться для вывода двоичного образа области на экран. Например, PutImage (X, Y, BitMap, NormalPut);
5.4. 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. Цвет и стили заполнения. В графике TurboPascal работа с цветом осуществляется по-разному. Одним из приемов является окраска точки и линий (прямая, окружность, эллипс) с помощью процедуры Color. Другим – заполнение внутренних областей фигур с помощью так называемого наполнения, которое включает в себя как цвет, так и стиль заполнения. Некоторые операторы, например Bar, служат для построения закрашенных фигур. Цвет заполнения для этих фигур задается процедурой SetFillStyle (Стиль: word; Цвет: word), которая устанавливает шаблон заполнения и цвет. Стандартные стили заполнения представлены в таб. 2.Таб. 2. Стандартные стили заполнения
Перед выводом на экран какого-либо изображения иногда требуется очистить экран. Для этого используется процедура ClearViewPort. Есть еще и процедура ClearDevice, которая очищает графический экран и устанавливает указатель в левый верхний угол.
|
||||||||||||||
Последнее изменение этой страницы: 2016-08-15; просмотров: 621; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.80.247 (0.009 с.) |