Графические возможности языка Паскаль
Ознакомление с особенностями языка программирования Паскаль 7.0, который содержит обширный набор типов, констант и функций для управления графическим режимом работы экрана. Изучение функций из библиотеки и процесса установки графического режима работы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 12.08.2014 |
Размер файла | 19,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Графические возможности языка Паскаль
Язык программирования Паскаль 7.0 содержит обширный набор типов, констант и функций для управления графическим режимом работы экрана, объединенных в стандартный библиотечный модуль GRAPH. С помощью подпрограмм, входящих в данный модуль, можно создавать сложные графические изображения, основанные на использовании разнообразных геометрических фигур. При необходимости замкнутые фигуры могут быть закрашены различными цветами и стилями (образцами) закраски. Для вывода текстовых надписей на графический экран могут быть использованы четыре штриховых и один матричный шрифт.
Подпрограммы модуля GRAPH могут поддерживать различные типы аппаратных графических средств. Настройка на конкретные технические средства осуществляется с помощью специальных программ--драйверов, поставляемых вместе с данным модулем.
Установка графического режима работы
Переход в графический режим в среде Паскаль осуществляется с помощью входящей в модуль GRAPH процедуры InitGraph, служащей для инициализации графического экрана. Данная процедура имеет следующий формат: InitGraph(var Driver, Mode:integer; Path:string), где переменные Driver и Mode должны содержать тип графического драйвера и его режим работы. Допускается указать Driver=0 для автоматического определения данных параметров по результатам тестирования аппаратуры. Параметр Path определяет маршрут поиска файла графического адаптера.
Графические операторы языка Паскаль позволяют адресоваться к любому элементу (пикселю) графического окна и управлять светимостью этого элемента. Для указания пикселя используется следующая система координат: начало координат (0,0) располагается в левом верхнем углу экрана; горизонтальная координата X увеличивается слева направо, вертикальная координата Y увеличивается сверху вниз. При стандартном графическом адаптере VGA (в режиме 640x480) правый нижний угол экрана имеет координаты (639,479), а центр экрана - координаты (319,239).
Для выхода из графического режима достаточно воспользоваться процедурой CloseGraph. Использование цветов
Язык программирования Паскаль 7.0 поддерживает 16 основных цветов, обозначаемых соответственно номерами от 0 до 15 (см. таблицу 1).
Таблица 1 Константы цвета
Константа цвета |
Цвет |
Константа цвета |
Цвет |
|
0(Black) |
Черный |
8 (DarkGray) |
Темно-серый |
|
1 (Blue) |
Синий |
9 (LightBlue) |
Ярко-синий |
|
2 (Green) |
Зеленый |
lO(LightGreen) |
Ярко-зеленый |
|
3 (Cyan) |
Голубой |
11 (LightCyan) |
Ярко-голубой |
|
4 (Red) |
Красный |
12 (LightRed) |
Розовый |
|
5 (Magenta) |
Фиолетовый |
13 (LightMagenta) |
Малиновый |
|
6 (Brown) |
Коричневый |
14 (Yellow) |
Желтый |
|
7 (LightGray) |
Светло-серый |
15 (White) |
Белый |
Основными графическими операторами по работе с цветами являются процедуры модуля GRAPH под именами SetBkColor (служит для установки цвета фона) и SetColor (для установки цвета рисования).
Формат данных операторов следующий". SetBkColor (Color: word);
SetColor (Color: word),
где переменная Color, имеющая целочисленный тип word, служит для указания требуемого номера цвета.
Например, операторы SetBkColor (I); SetColor (14) позволяют установить режим рисования желтым цветом по синему фону.
Создание графических объектов
В состав модуля GRAPH входит достаточно большое количество подпрограмм, служащих для вывода на экран разнообразных графических объектов. Основными процедурами данного типа являются:
Rectangle (xl, yl, х2, y2: integer) - служит для рисования прямоугольников, задаваемых координатами двух своих противоположных углов; программирование паскаль графический
Bar(xl, yl, x2, y2: integer) - служит для рисования заштрихованных прямоугольников, используя при этом текущий стиль и цвет штриховки;
SetFillStyle(Pattern, Color: word) - устанавливает образец штриховки и ее цвет, где переменная Pattern обозначает номер шаблона штриховки (см. таблицу 2), a Color - номер цвета штриховки (см. таблицу 1);
Circle(x, у: integer; r: word) - рисует окружность радиуса г с центром в точке (х, у); Line(xl, yl, x2, y2: integer) - рисует линию от точки (xl, yl) до точки (х2, у2);
PieSHce(x, у: integer; StAngle, EndAngle, nword) - рисует и заштриховывает сектор окружности радиусом г с центром в (х, у) от начального угла StAngle к конечному углу EndAngle. При этом используется текущий стиль и цвет штриховки (см. процедуру SetFillStyle);
PutPixel(x, у: integer; Color:word) - выводит на экран точку цвета Color с координатами (х, у);
OutTextXY(x, y:integer; TextString:string) -- выводит техт TextString в заданное координатами (х, у) место экрана.
Таблица 2 Шаблоны штриховки
Номер |
Стиль штриховки |
Номер |
Стиль штриховки |
|
0 |
Нет штриховки |
6 |
Наклонная влево |
|
1 |
Сплошная (заливка) |
7 |
В клетку по образцу +++ |
|
2 |
Горизонтальными линиями |
8 |
В клетку по образцу ххх |
|
3 |
Наклонная вправо |
9 |
Штриховка в мелкую клетку |
|
4 |
Наклонная вправо толстыми линиями |
10 |
Редкими точками |
|
5 |
Наклонная влево толстыми линиями |
11 |
Частыми точками |
Стандартный режим работы в среде Турбо Паскаля - текстовый. В этом режиме на экран выводятся только известные компьютеру символы.
В графическом режиме экран дисплея можно рассматривать как совокупность близко расположенных точек. Точку экрана называют пиксель или пиксел (pixel). Светимость этих точек может регулироваться программой. Пикселы образуют прямоугольную таблицу - растр с нумерацией элементов относительно левого верхнего угла экрана - точки с координатами (0; 0).
Для представления символов текстовой информации используется матрица с фиксированным количеством пикселов. Знакоместо каждого символа - прямоугольник размером, к примеру, 8x8, 8x14, 8x16 и т.д.; - в знакоместо при помощи программы помещается растровое изображение символа.
Графические возможности конкретного видеоадаптера (видеокарты) определяются разрешающей способностью (разрешением) монитора, т.е. общим количеством пикселов, а также количеством цветов (оттенков), которыми может светиться каждый из них. Современные мониторы поддерживают разрешение 800x600 точек, 1024x768 точек и более. Чем выше разрешающая способность монитора, тем качественнее изображение. Многие видеоадаптеры могут работать с несколькими графическими страницами.
Графическая страница - область оперативной памяти, используемая для создания "карты" экрана -информации о светимости (цвете) каждого пиксела. На одном и том же компьютере количество точек и количество возможных цветов можно изменять в процессе работы, выбирая графический режим - одну из предусмотренных в конструкции компьютера комбинаций значений.
Драйвер - это программа, управляющая определенным устройством ПК. Графический драйвер управляет дисплейным адаптером в графическом режиме. Графические драйверы обычно располагаются на диске в подкаталоге BGI рабочего каталога в виде файлов с расширением .BG1 (Borland Graphic Interface).
В ТП 7.0 есть стандартный библиотечный модуль Graph - библиотека подпрограмм, обеспечивающих управление графическими режимами видеоадаптеров: CGA, EGA, VGA, MCGA, Hercules, PC 3270, AT&T 6300, IBM 8514.
Библиотека Graph содержит около 80 графических процедур и функций, а также десятки констант и описаний типов данных [6, 7]. Подключение модуля происходит при помощи зарезервированного слова USES (uses Graph;).
Модуль Graph - файл GRAPH.TPU. Для работы с графикой этот файл должен быть доступным для компилятора, т.к. GRAPH.TPU не входит в состав библиотеки TURBO.TPL. В поле UNIT опции DIRECTORIES / OPTIONS главного меню среды Турбо Паскаля следует указать каталог, в котором размещен файл GRAPH.TPU.
Для использования различных шрифтов при выводе текста (кроме кириллицы) нужно скопировать файлы с расширением .CHR в рабочий каталог. При запуске программы с кириллицей скопируйте файл EGAVGA.BGI в рабочий каталог.
Любая программа для работы с графикой должна содержать блоки вызова процедуры инициализации графического режима InitGraph - правильность выполнения этой процедуры проверяется функцией GraphResult (0-в случае успеха) - и процедуры выхода из графического режима CloseGraph.
Процедуры и функции из библиотеки
Graph Обращение Действие
InitGraph (Driver, Mode, F) Инициирует графический режим работы адаптера
CloseGraph Завершает работу адаптера в графическом режиме
RestoreCrtMode Служит для кратковременного возврата в текстовый режим
ClearDevice Очищает экран, закрашивает его в цвет фона
ClearViewPort Очищает графическое окно
SetGraphMode(Mode) Устанавливает новый графический режим работы адаптера; значения Mode - в конце главы
SetViewPort(Xl, Yl, X2, Y2, Т) Устанавливает прямоугольное окно на экране: X1,Y1 - координаты левого
верхнего, Х2, Y2 - координаты правого нижнего углов окна, Т - выражение типа Boolean, определяющее
"отсечку" не умещающихся в окне элементов изображения (True - "отсекать")
SetPalette(Reg, Col) Формирует новое значение Col в регистре с номером Reg (установка одного цвета палитры)
SetAllPalette(Palette) Производит смену кодов цветности во всех регистрах палитры
SetBkColor (Color) Устанавливает цвет фона (целое число от 0 до 15)
SetColor (Color) Устанавливает цвет для выводимых символов и линий, Color - выражение типа Word
PutPixel (X, Y, Color) Выводит точку с координатами X, Y цветом Color
Line (XI, Yl, X2, Y2) Рисует отрезок линии по коордимнатам его концов
LineRel (Xh, Yh) Вычерчивает линию от текущего положения указателя до положения, заданного приращениями его координат Xh и Yh (выражения типа Integer)
LineTo (X, Y) Вычерчивает линию от текущего положения указателя до положения, заданного его новыми координатами
MoveRel (DX, DY) Устанавливает новое положение указателя в координатах относительно предыдущего
MoveTo (X, Y) Устанавливает новое положение указателя
OutText (Т) Выводит текст Т (кроме кириллицы), начиная с текущего положения указателя
OutTextXY (X, Y, Т) Выводит текст Т, начиная с позиции X строки Y
Circle (X, Y, R) Рисует окружность радиуса R типа Word с центром в точке с координатами (X; Y)
Ваг (XI, Y1, Х2, Y2) Заполняет прямоугольную область экрана, заданную координатами диагонали
Bar3D (XI, Yl, X2, Y2, D, Top) Чертит трехмерное изображение параллелепипеда (D -глубина) и закрашивает его переднюю грань;
Тор - выражение типа Boolean, если Тор = True, верхняя грань вычерчивается, если False - нет
Rectangle (XI, Yl, X2, Y2) Вычерчивает прямоугольник по координатам левого верхнего и правого нижнего углов
Arc (X, Y, А, В, R) Чертит дугу окружности: X, Y - координаты центра, А, В - начальный и конечный углы дуги(в градусах), отсчет углов ведется против часовой стрелки^ - радиус (в пикселах);
Ellipse (X, Y, А, В, RX, RY) Чертит эллипсную дугу: X, Y - координаты центра, А, В - начальный и конечный углы дуги (в градусах), RX, RY - горизонтальный и вертикальный радиусы
Sector (X, Y, А, В, RX, RY) Рисует и штрихует сектор эллипса радиусами RX и RY с центром в точке X, Y от угла А к углу В
SetFillStyle (Pattern, Color) Устанавливает образец штриховки и цвет
SetLineStyle (LineStile,Pattern,Thickness) Устанавливает толщину и стиль линии
SetTextStyle (Font, Direction,CharSize) Устанавливает текущий шрифт (0-9), направление (по горизонтали-0/вертикали-1) и размер символов (0-13)
FillEllipse (X, Y, RX, RY) Рисует закрашенный эллипс
FloodFill (X, Y, С) Заполняет любую замкнутую фигуру, используя текущий стиль заполнения (узор и цвет),
X, Y - координаты точки внутри этой области, С - цвет границы
FillPoly (N, Coords) Обводит линией и закрашивает замкнутый многоугольник; N - количество вершин,
Coords - переменная типа PointType, содержащая координаты вершин (см. сноску под таблицей)
Getlmage (X1,Y1, X2,Y2, Bui) Помещает в буфер памяти Buf копию прямоугольного фрагмента изображения
Putlmage (X,Y, Buf, ModePut) Выводит в заданное место экрана (X,Y - координаты верхнего левого угла) копию фрагмента изображения из буфера Buf, ModePut - способ копирования (в конце главы)
ImageSize (X1,Y1,X2,Y2) Возвращает размер памяти в байтах, необходимый для размещения прямоугольного фрагмента изображения
GraphResult Возвращает 0, если последняя графическая операция выполнилась без ошибок
GraphErrorMsg (Code) Возвращает значение типа String с текстовым сообщением об ошибке; Code - код ошибки
GetGraphMode Возвращает значение типа Integer, в котором содержится код текущего режима работы графического адаптера
GetX Возвращает текущую координату указателя по горизонтали / вертикали (тип Integer)
GetY/GetMaxX Возвращает максимальную координату экрана по горизонтали / вертикали (тип Word) в текущем режиме работы
Размещено на Allbest.ru
...Подобные документы
Логические конструкции в системе программирования Паскаль. Команды языка программирования, использование функций, процедур. Постановка и решение задач механики в среде системы Паскаль. Задачи статики, кинематики, динамики решаемые с помощью языка Паскаль.
курсовая работа [290,9 K], добавлен 05.12.2008Создание приложения, исполняющего трансляцию программы из языка Паскаль в язык Си: разработка алгоритма реализации задачи, описание необходимых констант, переменных, функций и операторов, представление листинга программы и распечатка результатов.
курсовая работа [305,9 K], добавлен 03.07.2011Программирование нестандартных функций, задач оптимизации, дифференциального уравнения и аппроксимации с помощью языка Паскаль. Алгоритм и программа операций над матрицами. Нахождение значения корней нелинейного уравнения по методу половинного деления.
курсовая работа [1,1 M], добавлен 12.08.2011Основные сведения о системе программирования Турбо Паскаль. Структура программы на Паскале и ее компоненты. Особенности и элементы языка Турбо Паскаль. Порядок выполнения операций в арифметическом выражении, стандартные функции и оператор присваивания.
лекция [55,7 K], добавлен 21.05.2009Изучение истории создания языка Турбо-Паскаль, важнейшего инструмента для обучения методам структурного программирования. Анализ меню управления всеми ресурсами интегрированной инструментальной оболочки, зарезервированных слов, символьных переменных.
презентация [989,7 K], добавлен 06.12.2011Общая характеристика языков программирования. Описание языка Паскаль: основные субъекты языка; структура Паскаль-программы; типизация и объявление данных. Операторы присваивания и выражения. Структурные операторы, организация ветвлений и циклов.
дипломная работа [276,6 K], добавлен 26.01.2011Основы создания фрактальных композиций при помощи среды программирования Паскаль. Сущность и основа фрактальной графики. Графические возможности и операторы для рисования геометрических фигур в среде Паскаль. Примеры обозначения цветов на языке Паскаль.
лабораторная работа [15,7 K], добавлен 12.06.2010Особенности использования графического режима в среде Турбо Паскаль. Типы драйверов. Инициализация графики. Построение изображения на экране. Графические примитивы и работа с текстом. Разработка и реализация программ в среде Турбо Паскаль "Графика".
курсовая работа [1,2 M], добавлен 26.09.2014Векторная компьютерная графика. Графические примитивы. Графические возможности языка программирования Pascal. Методические рекомендации к изучению графики в языке программирования Pascal. Построение графиков функций.
курсовая работа [28,3 K], добавлен 13.06.2007Изучение символьных и строковых типов данных, алгоритма задачи на языке программирования Паскаль. Описания получения и установки отдельного символа строки, изменения регистра символов. Анализ создания и просмотра файла, поиска и сортировки информации.
курсовая работа [440,7 K], добавлен 13.06.2011Лингвистическая концепция языка Паскаль. Интегрированная инструментальная оболочка. Основы построения программ на ТП 7.0. Алфавит языка и специфика использования символов. Простые типы данных: константы и переменные. Циклические конструкции и операции.
курсовая работа [284,6 K], добавлен 02.07.2011Особенности способов описания языков программирования. Язык программирования как способ записи программ на ЭВМ в понятной для компьютера форме. Характеристика языка Паскаль, анализ стандартных его функций. Анализ примеров записи арифметических выражений.
курсовая работа [292,0 K], добавлен 18.03.2013Описание конструкций языка программирования Паскаль, обеспечивающих ветвление. Организация циклических процессов. Создание программы для ввода последовательности вещественных чисел до появления 0, расчет среднего арифметического данной последовательности.
лабораторная работа [189,8 K], добавлен 17.04.2012Создание базы данных и СУБД. Структура простейшей базы данных. Особенности языка программирования Турбо Паскаль. Описание типов, констант, переменных, процедур и функций. Описание алгоритма базы данных (для сотрудников ГИБДД), листинг программы.
курсовая работа [26,3 K], добавлен 26.01.2012Лаконичность, стандартный набор конструкций управления потоком выполнения, структур данных и обширный набор операций в основе языка программирования Си. Фортран как первый язык программирования с транслятором. Перевод программных кодов с Фортрана на Си.
отчет по практике [77,4 K], добавлен 18.10.2012Понятие и история развития языка Turbo Pascal, оценка его графических возможностей и особенностей. Инициализация графического режима. Управление экраном и окнами, цветом и фоном, принципы работы с текстом. Построение графиков функций и изображений.
курсовая работа [159,9 K], добавлен 17.12.2014Система программирования Турбо Паскаль. Главные особенности языка С++. Составной и условный оператор в Паскале, алгоритм работы. Метка в Турбо Паскале. Счетный оператор цикла FOR. Описание логической структуры. Свойства функции PieSlice и initgraph.
курсовая работа [20,8 K], добавлен 23.12.2010История и основы структурного программирования в среде Turbo Pascal. Работа с различными типами данных. Операторы языка. Работа с символьными и строковыми переменами, одномерным, двумерным массивами. Классификация компьютерных игр. Игры на языке Паскаль.
курсовая работа [28,8 K], добавлен 06.05.2014Разработка программы средствами Turbo Pascal для автоматизации процесса работы с небольшими базами данных. Состав используемого аппаратного обеспечения. Общая схема структуры языка программирования Паскаля и приемы процедурного программирования.
курсовая работа [61,6 K], добавлен 09.03.2011Алгоритмы и алфавит языка Турбо Паскаль. Основные типы данных. Операторы присваивания, перехода и выбора. Понятие массива в Паскале. Особенности работы со строками в программе. Использование линейного поиска и поиска с барьером. Основные виды сортировок.
учебное пособие [53,2 K], добавлен 09.11.2009