Реализация графических изображений с помощью машинно-зависимых языков - Студенческий научный форум

XI Международная студенческая научная конференция Студенческий научный форум - 2019

Реализация графических изображений с помощью машинно-зависимых языков

Садыгов Э.А. 1, Абрамова О.Ф. 1
1Волжский политехнический институт (филиал) ВолгГТУ
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

Реализация графических элементов при помощи машинно-зависимых языков – трудоемкий процесс по сравнению с реализацией аналогичных задач на высокоуровневых языках программирования. Но подобное исполнение дает некоторые преимущества:

рациональное использование памяти;

высокая производительность.

Таким образом, при функционировании с большим объёмом графической информации каждый квалифицированный программист должен иметь навыки работы с графикой на низкоуровневых языках, с целью реализации эффективной программы.

Основные элементы реализации графики

Графический примитив – элементарный геометрический объект, отображаемый на экране дисплея. К таким объектам можно отнести: точку, отрезок, окружность, дугу и так далее.

Чем сложнее изображение, тем больше оно включает в себя таких примитивов. Поэтому при работе с графикой очень важно иметь представления о том, как устроены подобные объекты.

Для того чтобы система послала запрос для окраски части окна приложения необходимо отправить сообщение WM_PAINT.

Метод реализации: создание виртуального окна, в котором располагается весь вывод (при получении главным окном сообщения WM_PAINT содержимое виртуального окна переносится в главное).

Немаловажным моментом является инициализация класса окна, которое определяет важные характеристики окна:

Style – стиль окна

hbrBackground – фон окна

cbSize – размер структуры окна

hCursor / hIcon – дескрипторы курсора / иконки

Графические объекты имеют ту же систему координат для вывода что и система текстовой информации для ввода. Единица измерения координат – логическая единица, которая изначально соответствует пикселю изображения. Но при желании данное соотношение можно изменить при помощи функции SetMapMode.

Цвет графических примитивов задаётся:

SetPixel – точки;

CreateSolidBrush – замкнутые объекты (кисть);

CreatePen – линии (перо);

При создании разноцветного изображения можно заранее создать несколько кистей и перьев, а затем выбирать их при помощи функции SelectObject.

Область вывода графических элементов можно установить при помощи функции SetViewportExtEx. А начало области ввода при помощи функции SetViewportOrgEx.

Еще некоторые функции для рисования графики:

LineTo – создание линии от текущей до заданной точки;

Ellipse – создание эллипса;

MoveToEx – сменить текущую точку;

Rectangle – создание прямоугольника;

Arc – создание дуги;

Заключение

Подводя итоги можно сказать, что графическое программирование на низкоуровневых языках очень трудоемких процесс, предназначенный для повышения программной эффективности. В данной статье были рассмотрены основные понятия и принципы создания графических изображений с помощью машинно-зависимых языков, имеющий ряд преимуществ перед высокоуровневыми языками программирования.

Библиографические ссылки

Абрамова О.Ф. Использование мультимедийных технологий в процессе обучения дисциплине "Компьютерная графика" / О.Ф. Абрамова, С.В. Белова // Успехи современного естествознания. - 2012. - № 3. - C. 90.

Сторчак Н.А. Учебник «Компьютерная графика» / Н.А. Сторчак, В.Н. Тышкевич, А.В. Синьков // Международный журнал экспериментального образования. - 2015. - № 11 (часть 3). - C. 469.

Якушина А.А. Компьютерная графика [Электронный ресурс] / А.А. Якушина, О.Ф. Абрамова // Современные технологии и инженерное образование : матер. науч.-практ. конф. (г. Волжский, ноябрь – декабрь 2014 г.) / ООО «Центр экологической безопасности и энергосбережения». – 1 электрон. опт. диск (CD-ROM). - Волжский, 2015. - C. 18-20.

Пильщиков В. Н. Assembler. Программирование на языке ассемблера IBM PC / В.Н. Пильщиков. - М.: Диалог-Мифи, 2005. - 288 c

Шакаев В.Д. Абстрагирование низкоуровневых API при создании кроссплатформенных графических приложений / В.Д. Шакаев, О.А. Шабалина // Вестник компьютерных и информационных технологий. - 2014. - № 8. - C. 11-16.

Просмотров работы: 6