Файл: Актуальность На сегодняшний день графика имеет не маловажное значение для языков программирования Она разрешает визуализировать все возможные программы, что придаёт яркость и удобство использования Так как живём в трехмерном мире,.docx
Добавлен: 23.11.2023
Просмотров: 399
Скачиваний: 5
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
Во втором параграфе описывается основные функции и процедуры работы с графикой в PascalABCNet
Подключение библиотеки к основной программе
Алгоритм поиска имен в библиотеках
Подпрограммы для работы с пером
Класс Picture графического рисунка
Подпрограммы для работы с координатами графического окна
Можно также изменять свойства системы координат графического окна через объект Coordinate
Подпрограммы режимов рисования
Подпрограммы для работы с координатами графического окна
Доступ к свойствам координат графического окна можно осуществлять как в процедурном, так и в объектно-ориентированном стилеПроцедуры и функции для изменения системы координат окна приведены ниже:| procedure SetCoordinateOrigin(x0,y0: integer); Устанавливает начало координат в точку (x0,y0) |
| procedure SetCoordinateScale(sx,sy: real); Устанавливает масштаб системы координат |
| procedure SetCoordinateAngle(a: real); Устанавливает поворот системы координат |
Можно также изменять свойства системы координат графического окна через объект Coordinate
Подпрограммы режимов рисования
| procedure SetSmoothing(sm: boolean); Устанавливает режим сглаживания |
| procedure SetSmoothingOn; Включает режим сглаживания |
| procedure SetSmoothingOff; Выключает режим сглаживания |
| function SmoothingIsOn: boolean; Возвращает True, если режим сглаживания установлен |
| procedure SetCoordinateOrigin(x0,y0: integer); Устанавливает начало координат в точку (x0,y0) |
В рамках третьего параграфа было решено создать графический объект "Домик" при помощи инструментов модуля GraphABCNet
1Для этого необходимо подключить этот модуль GraphABCс помощью usesProgram Domik;uses Graphabc; //подключение модуля GraphABC 2После begin настраивается наша сцена:Рис2Настройка окна программыНа рисунке 2 изображен процесс настройки окна при помощи свойства SetWindowWidth будет.. настраиватся ширина, при помощи SetWindowHeight будет настраиваться высота3Настраиваем шрифт Рис3 Настройка шрифта текста "Домик"На рисунке 3 изображен процесс настройки текста при помощи свойства SetPenWidth задается толщина пера,SetFontSize задается размер шрифта,SetFountColor(clRed)настраивается цвет шрифта,SetFountStule(fsBold) настраивается стиль шрифта4Выводим на форму текстTextOut(100,100,'Домик'); //текст 5Задаем параметры окнуРис4Прорисовка окнаНа рисунке 4 изображен процесс прорисовки окна при помощи свойства Rectangle и Circle6Задаем цвет окнуРис5Заливка окнаНа рисунке 5 изображен процесс заливки окна при помощи свойства SetBrushColor7Далее строится сам домикРис6Настройка параметров домикаНа рисунке 6 изображен процесс настройки параметров домика при помощи свойства Line задаются параметры окна,крыши и трубы
Изображение домика создавалось при помощи базовых процедур библиотеки GraphABC Далее будет описан пример прорисовки другой фигуры
2 Программа Человечек1Для этого опять же понадобиться подключить этот модуль GraphABCс помощью usesProgram Figurka; uses GraphABC;2После begin настраивается наша сцена:Рис8 Настройка параметров сценыНа рисунке 8 изображен процесс настройки параметров человечка при помощи свойства SetWindowSize задаются размеры графического окна, SetPenWidth устанавливается стиль пера, SetBrushColor(clFuchsia) настраивается цвет кисти3Создаем саму фигуркуРис9ЧеловечекНа рисунке 9 изображен человечек при помощи свойств Circle задаются параметры окружности, Line задаются параметры линии, Rectangle задаются параметры прямоугольникуВозможности PascalАВСNet в данной версии имеет очень много преимуществ по сравнению с предыдущими версиями PascalАВСNet содержит обширный набор типов констант и функций для управления графическим режимом работы экрана объединенных в стандартный библиотечный модуль Graph С помощью подпрограмм, входящих в данный модуль, можно создавать сложные графические изображения, основанные на использовании разнообразных геометрических фигур При необходимости замкнутые фигуры могут быть закрашены различными цветами и стилями(образцами) закраски Для вывода текстовых надписей на графический экран могут быть использованы четыре штриховых и один матричный шрифтПреимущества модуля граф1Модуль GraphABC основан на графической библиотеке GDI+, но запоминает текущие перо, кисть и шрифт, что позволяет не передавать их в качестве параметров при вызове графических примитивов К свойствам пера, кисти и шрифта можно получать доступ как в процедурном, так и в объектном стиле Например, для доступа к цвету текущего пера используется процедура SetPenColor(c) и функция PenColor, а также свойство PenColor2В модуле GraphABC можно управлять самим графическим окном и компонентом GraphABCControl, на котором осуществляется рисование По умолчанию компонент GraphABCControl занимает всю клиентскую часть графического окна, однако, на графическое окно можно добавить элементы управления, уменьшив область, занимаемую графическим компонентом (например, так сделано в модулях Robot и Drawman)3 Для работы с рисунками используется класс Picture, позволяющий рисовать на себе те же графические примитивы, что и на экранеРежим блокировки рисования на экране (LockDrawing) позволяет осуществлять прорисовку лишь во в не экранном буфере, после чего с помощью метода Redraw восстанавливать все графическое окно Данный метод используется для ускорения анимации и создания анимации без мерцания4 В модуле GraphABC определен ряд констант, типов, процедур, функций и классов для рисования в графическом окне Они подразделяются на следующие группы:Графические примитивыФункции для работы с цветомЦветовые константыДействия с пером: процедуры и функцииДействия с пером: объект PenСтиль пераДействия с кистью: процедуры и функцииДействия с кистью: объект BrushСтили кистиСтили штриховки кистиДействия со шрифтом: процедуры и функцииДействия шрифтом: объект FontСтили шрифтом Действия с рисунками: класс PictureДействия с графическим окном: процедуры и функцииДействия с графическим окном: объект WindowДействия с системой координат: процедуры и функцииДействия с системой координат: объект CoordinateБлокировка рисования и ускорение анимацииРежимы рисованияСобытия GraphABCВиртуальные коды клавишПеренаправление ввода-выводаТипы и переменные модуля GraphABCColor = SystemDrawingColor;Тип цветаPoint = SystemDrawingPoint;Тип точкиGraphABCException = class(Exception) end;Тип исключения GraphABCRedrawProc: procedure;Процедурная переменная перерисовки графического окна Если равна nil, то используется стандартная перерисовкаDrawInBuffer: boolean;Следует ли рисовать во в не экранном буфере
ЗаключениеДанный курсовой проект помог прояснить некоторые теоретические и практические вопросы, связанные со средой программирования PascalABCNET, а также с графическим модулем данной среды программированияПри написании курсового проекта рассматривался вопрос создания графических изображений в среде программирования PascalАВСNetБлагодаря подробному описанию создания графических объектов, курсовой проект является наглядным примером по созданию графических рисунков и может служить вспомогательным средством создания любых объектов графики в графической среде языка программирования PascalАВСNet программ для начинающих программистов Как видно из анализа полученных результатов можно наглядно посмотреть, какие объекты изображения можно получить в графической среде языка PascalАВСNet Для программистов и для тех, кто только начал изучать среду программирования языка PascalАВСNet следует обратить внимание на приложение, в котором наглядно показаны все команды, которые были использованы при создании мультипликационного персонажа «Домик» «Человечек» В ходе исследования изучили:Основные понятия графики, функции и процедуры, возможности создания графических изображений в среде программирования PascalАВСNetВ курсовом проекте был приведен краткий обзор программы PascalABCNET, рассмотрена ее структура, основные примитивы, а также более подробно рассмотрен графический модуль GraphАВСПрактическая значимость данного проекта довольно велика, тк работа с графикой очень распространена и основной сферой использования графического модуля является - обучениеПолученные при исследовании знания и навыки будут полезны нам при дальнейшей работе в PascalАВСNet, а также при работе с другими языками программирования
Список использованной литературы
1 ЛДАубакиров Языки программирования Астана, 2017г, 214c2 А Н Мудров Программирование М, 2016г,125c3 Программирование С Симонович, Г Евсеев, Москва: АСТ - ПРЕСС книга 2015г,300c4 Практика программирования, Ю Кетков, А Кетков, СПб: БХБ/ Петербург, 2015г,256c5 Паскаль для школьников С М Кашаев, Л В Шерстнева - Москва, БХВ-Петербург, 2017 г,112c6 Информатика(Базовый курс) С В Симонович, СПб: Питер, 2016г,200c7 Основы программирования: С Окулов - Москва, Бином Лаборатория знаний, 2018 г,154c8 Языки программирования Концепции и принципы: В Ш Кауфман - Москва, ДМК Пресс, 2017 г,145c9 Турбо Паскаль с графикой для персональных компьютеров/Перс польск ДИЮренкова М:Мфшиностроение,2019,135c10 Основы программирования в задачах и примерах, А В Милов, Харьков: ФОЛИО, 2017г,160c11 Практикум по программированию на языке Паскаль, Касторнов А Ф, Касторнова В А , Москва, 2019,180c12 http://pascalcoderru/13 http://saasslattutby/Grafika_Pascal/index16ht m14 http://wwwinformancerru /uncategorized/grafika-v-t urbo-pascal/15 http://life-progruПриложение 1Program Domik; uses Graphabc; //подключение модуля GraphABC begin SetWindowWidth(800); //ширина окна программы SetWindowHeight(600); //высота окна программы SetPenWidth(3); //толщина пера SetFontSize(18); //размер шрифта SetFontColor(clRed); //цвет шрифта SetFontStyle(fsBold); //жирный стиль шрифта TextOut(100,100,'Домик'); //текст Rectangle(200, 300, 600,600); //дом Circle(400,225, 40); //круг SetBrushColor(clyellow); //цвет заливки окна FillRect(300, 400,500,500); //процедура заливки окна rectangle(300,400,500,500); //окно Line(400,400,400,500); // окно Line(300,450,500,450); //окно Line(200,300,400,150); //крыша Line(400,150,600,300); //крыша Line(480,210,480,160); //труба Line(480,160,520,160); //труба Line(520,160,520,240); //труба end