Файл: Актуальность На сегодняшний день графика имеет не маловажное значение для языков программирования Она разрешает визуализировать все возможные программы, что придаёт яркость и удобство использования Так как живём в трехмерном мире,.docx

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 23.11.2023

Просмотров: 91

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Подпрограммы для работы с координатами графического окна


Доступ к свойствам координат графического окна можно осуществлять как в процедурном, так и в объектно-ориентированном стиле

Процедуры и функции для изменения системы координат окна приведены ниже:

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