Файл: Актуальность На сегодняшний день графика имеет не маловажное значение для языков программирования Она разрешает визуализировать все возможные программы, что придаёт яркость и удобство использования Так как живём в трехмерном мире,.docx
Добавлен: 23.11.2023
Просмотров: 101
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
Во втором параграфе описывается основные функции и процедуры работы с графикой в 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) |
§3Работа с графическим модулем средствами Pascal ABCNet
В рамках третьего параграфа было решено создать графический объект "Домик" при помощи инструментов модуля GraphABCNet
1Для этого необходимо подключить этот модуль GraphABC
с помощью uses
Program 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 и Circle
6Задаем цвет окну
Рис5Заливка окна
На рисунке 5 изображен процесс заливки окна при помощи свойства SetBrushColor
7Далее строится сам домик
Рис6Настройка параметров домика
На рисунке 6 изображен процесс настройки параметров домика при помощи свойства Line задаются параметры окна,крыши и трубы
Рис7 Домик
Изображение домика создавалось при помощи базовых процедур библиотеки GraphABC Далее будет описан пример прорисовки другой фигуры
2 Программа Человечек
1Для этого опять же понадобиться подключить этот модуль GraphABC
с помощью uses
Program 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, а также свойство PenColor
2 В модуле GraphABC можно управлять самим графическим окном и компонентом GraphABCControl, на котором осуществляется рисование По умолчанию компонент GraphABCControl занимает всю клиентскую часть графического окна, однако, на графическое окно можно добавить элементы управления, уменьшив область, занимаемую графическим компонентом (например, так сделано в модулях Robot и Drawman)
3 Для работы с рисунками используется класс Picture, позволяющий рисовать на себе те же графические примитивы, что и на экране
Режим блокировки рисования на экране (LockDrawing) позволяет осуществлять прорисовку лишь во в не экранном буфере, после чего с помощью метода Redraw восстанавливать все графическое окно Данный метод используется для ускорения анимации и создания анимации без мерцания
4 В модуле GraphABC определен ряд констант, типов, процедур, функций и классов для рисования в графическом окне Они подразделяются на следующие группы:
Графические примитивы
Функции для работы с цветом
Цветовые константы
Действия с пером: процедуры и функции
Действия с пером: объект Pen
Стиль пера
Действия с кистью: процедуры и функции
Действия с кистью: объект Brush
Стили кисти
Стили штриховки кисти
Действия со шрифтом: процедуры и функции
Действия шрифтом: объект Font
Стили шрифтом
Действия с рисунками: класс Picture
Действия с графическим окном: процедуры и функции
Действия с графическим окном: объект Window
Действия с системой координат: процедуры и функции
Действия с системой координат: объект Coordinate
Блокировка рисования и ускорение анимации
Режимы рисования
События GraphABC
Виртуальные коды клавиш
Перенаправление ввода-вывода
Типы и переменные модуля GraphABC
Color = SystemDrawingColor;
Тип цвета
Point = SystemDrawingPoint;
Тип точки
GraphABCException = class(Exception) end;
Тип исключения GraphABC
RedrawProc: procedure;
Процедурная переменная перерисовки графического окна Если равна nil, то используется стандартная перерисовка
DrawInBuffer: boolean;
Следует ли рисовать во в не экранном буфере
Заключение
Данный курсовой проект помог прояснить некоторые теоретические и практические вопросы, связанные со средой программирования PascalABCNET, а также с графическим модулем данной среды программирования
При написании курсового проекта рассматривался вопрос создания графических изображений в среде программирования PascalАВСNet
Благодаря подробному описанию создания графических объектов, курсовой проект является наглядным примером по созданию графических рисунков и может служить вспомогательным средством создания любых объектов графики в графической среде языка программирования PascalАВСNet программ для начинающих программистов
Как видно из анализа полученных результатов можно наглядно посмотреть, какие объекты изображения можно получить в графической среде языка PascalАВСNet Для программистов и для тех, кто только начал изучать среду программирования языка PascalАВСNet следует обратить внимание на приложение, в котором наглядно показаны все команды, которые были использованы при создании мультипликационного персонажа «Домик» «Человечек»
В ходе исследования изучили:
Основные понятия графики, функции и процедуры, возможности создания графических изображений в среде программирования PascalАВСNet
В курсовом проекте был приведен краткий обзор программы PascalABCNET, рассмотрена ее структура, основные примитивы, а также более подробно рассмотрен графический модуль GraphАВС
Практическая значимость данного проекта довольно велика, тк работа с графикой очень распространена и основной сферой использования графического модуля является - обучение
Полученные при исследовании знания и навыки будут полезны нам при дальнейшей работе в PascalАВСNet, а также при работе с другими языками программирования
Список использованной литературы
1 ЛДАубакиров Языки программирования Астана, 2017г, 214c
2 А Н Мудров Программирование М, 2016г,125c
3 Программирование С Симонович, Г Евсеев, Москва: АСТ - ПРЕСС книга 2015г,300c
4 Практика программирования, Ю Кетков, А Кетков, СПб: БХБ/ Петербург, 2015г,256c
5 Паскаль для школьников С М Кашаев, Л В Шерстнева - Москва, БХВ-Петербург, 2017 г,112c
6 Информатика(Базовый курс) С В Симонович, СПб: Питер, 2016г,200c
7 Основы программирования: С Окулов - Москва, Бином Лаборатория знаний, 2018 г,154c
8 Языки программирования Концепции и принципы: В Ш Кауфман - Москва, ДМК Пресс, 2017 г,145c
9 Турбо Паскаль с графикой для персональных компьютеров/Перс польск ДИЮренкова М:Мфшиностроение,2019,135c
10 Основы программирования в задачах и примерах, А В Милов, Харьков: ФОЛИО, 2017г,160c
11 Практикум по программированию на языке Паскаль, Касторнов А Ф, Касторнова В А , Москва, 2019,180c
12 http://pascalcoderru/
13 http://saasslattutby/Grafika_Pascal/index16ht m
14 http://wwwinformancerru /uncategorized/grafika-v-t urbo-pascal/
15 http://life-progru
Приложение 1
Program 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
Приложение 2
Program Figurka;
uses GraphABC;
begin
SetWindowSize(500, 500); //задаем размер графического окна
SetPenWidth(3); //устанавливаем стиль пера
SetBrushColor(clFuchsia); //устанавливаем цвет кисти
Circle(225,160,50); //рисуем окружность
Line(225,160,225,180); //рисуем линии
Line( 210,190,240,190);
Line( 225,210,225,250);
Line( 100,100,200,260);
Line( 200,260,400,260);
Line( 210,350,200,480);
Line(240,350,250,480);
Rectangle(200,230,250,350); //рисуем прямоугольник SetBrushColor(clLime);
FillRect(0, 480,500,500); //рисуем закрашенный прямоугольник
SetBrushColor(clWhite);
Circle(205,150,10);
Circle(245,150,10);
end