Файл: Обзор языков программирования высокого уровня (ОСОБЕННОСТИ ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ).pdf
Добавлен: 30.03.2023
Просмотров: 80
Скачиваний: 1
3. Гибкая поддержка модульности. Разработанный модуль может быть легко интегрирован в код произвольных приложений.
4. Встроенная поддержка Unicode. Это позволяет разработчику использование в программах символов родного языка, а не только английского.
5. Наличие возможности разработки кода по парадигме ООП. Планирование структуры приложения становиться проще и удобнее.
6. Автоматическая «сборка мусора», т.е. освобождение разработчика от необходимости слежения за утечками памяти.
7. Интеграция другими, более низкоуровневыми языками программирования для повышения скорости работы программных приложений.
8. Гибкий, простой и лаконичный синтаксис позволяет разработчику лучше писать и читать созданный программный код. Это помогает сэкономить время разбора в коде одного разработчика другому.
9. Поддержка большого количества модулей, интегрированных и сторонних. В ряде распространенных случаев для разработки программы достаточно просто найти готовые модули и должным образом их связать между собой. Это позволяет разработчику сосредоточить внимание на более высоком уровне разработки и проектирования, работая с готовыми элементами.
10. Кроссплатформенность. Это позволяет запускать программное приложения, написанное на языке Python, на практически любой операционной системе, где установлен интерпретатор языка нужной версии и сборки.
В данном разделе проведены результаты выполненного аналитического обзора некоторых популярных языков программирования, являющихся востребованными на рынке труда разработчиков программного обеспечения. В частности, описаны возможности высокоуровневых языков программирования Java, C# и Python. По каждому из рассмотренных языков разработки программного кода приведены иллюстрации, демонстрирующие концептуальные положения и особенности функционального состава используемых средств. Приведены основные преимущества описанных языков.
3 ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ ПРОГРАММНОГО ПРИЛОЖЕНИЯ СРЕДСТВАМИ ЯЗЫКА ПРОГРАММИРОВАНИЯ С#
Структура проекта программного обеспечения в обозревателе решений приведена на рис.6.
Рисунок 6 - Структура проекта программного обеспечения в обозревателе решений
В данной работе рассмотрена специфика разработки программного обеспечения обработки графических векторных изображений с возможностями наложения различных фильтров.
Техническая программная реализация выполнена на базе использования высокоуровневого языка программирования C#, интегрированной среды разработки Microsoft Visual Studio 2015.
Разработанный программный продукт предназначен для использования в операционных системах семейства Windows, обладает модульной структурой и может быть расширен по функциональным возможностям.
В общем создано 7 функциональных форм:
1. AboutForm - необходима для вывод информации о разработчике программы.
2. FourierDoc - обеспечивает обработку данных по фильтру.
3. HistogramWindow - предоставляет функцию построения гистограммы изображения.
4. ImageDoc - обеспечивает обработку графического изображения по предоставленным параметрам.
5. ImageStatisticsWindow - просмотр статистических данных и параметров графического изображения.
6. MainForm - предоставляет доступ к основным функциям системы по редактированию и обработки графических изображений.
7. SelectImageForm - окно избрание графического изображения для дальнейшего выполнения обработки.
Перечень классов реализации фильтров для обработки изображений приведены на рис.7. Каждый из классов реализует подключения соответствующих функций библиотеки AForge для разрабатываемого программного обеспечения, в частности это возможности изменения яркости, фильтрация цветов, фильтрация частот, морфинг, насыщенность, порог и другие.
Рисунок 7 - Перечень классов реализации фильтров для обработки изображений
Пример вида загруженного графического файла в стандартно настроенном программном обеспечении приведен на рис.8.
Пример подключения соответствующих элементов пользовательского интерфейса по обработке графического файла на базе компонента ToolStrip приведен на рис..
Рисунок 9 – Пример вида загруженного графического файла в стандартно настроенному программному обеспечению
Рисунок 10 – Пример подключения элементы пользовательского интерфейса по обработке графического файла на базе компонента ToolStrip
Образец отображения окна параметров гистограммы обрабатываемого графического файла по красному каналу в правой части главной формы приведен на рис.11.
Это окно можно закрепить в рабочем окне или закрыть с помощью соответствующих кнопок, расположенных в заголовке.
Рисунок 11 - Отображение окна параметров гистограммы обрабатываемого графического файла по красному каналу
Отображение окна параметров гистограммы обрабатываемого графического файла по зеленому каналу можно увидеть на рис.12.
Рисунок 12 – Отображение окна параметров гистограммы обрабатываемом графического файла по зеленому каналу
Кроме графика гистограммы также выводятся данные по выбранному, с помощью указателя мыши, пикселю.
Выводится информация относительно среднего значения, медианы, минимального и максимального уровней, процентили.
Аналогично предыдущих вариантов отображения гистограмм доступна ее построение для синего и красного цвета.
Пример открытия окна выдачи статистических данных в свернутом виде приведены на рис.13.
Данное окно позволяет увидеть общие параметры изображения, настройки красного, зеленого и синего цветов с черным и отдельно к нему, насыщенность и яркость с черным и без него и другие статистические данные.
Рисунок 13 – Пример открытия окна выдачи статистических данных в свернутом виде
Пример открытия окна выдачи статистических данных в более детальном, развернутом виде приведены на рис.14.
Можно увидеть соответствующие максимальные, средние, минимальные значения и медиану.
Возможность масштабирования изображения в пункте меню Zoom компонента MenuStrip приведена на рис.15.
Рисунок 14 - Пример открытия окна выдачи статистических данных в развернутом виде
Возможность масштабирования изображения в пункте меню Zoom компонента MenuStrip на рис.. Предусмотрено режимы масштабирования в 10, 25, 50, 75, 100, 150, 200, 400, 500 процентов. Также можно изменять масштаб по шагам с помощью горячих клавиш Ctrl + 8 и Ctrl + 7. Предусмотрена возможность подгона масштаба изображения под размер экрана (Ctrl + 9).
Рисунок 15 - Возможность масштабирования изображения в пункте меню Zoom компонента MenuStrip
Результат функции клонирования изображения приведен на рис.16.
Рисунок 16 – Результат функции клонирования изображения
Эта функция удобна, если пользователю после выполнения ряда действий по обработке графического изображения необходимо поэкспериментировать или протестировать какие-то эффекты, чтобы не навредить настройкой действующего образца. Создается соответствующая вкладка, которая содержит новую копию графического изображения.
Пример отображения параметров графического изображения средствами компонента StatusStrip приведен на рис.17. Это предусмотрено для удобного просмотра пользователем сжатой технической информации об образце, подлежащего редактированию.
Можно увидеть уровень масштаба изображения, его разрешение в пикселях, текущие координаты указателя мыши по х и у, параметры аддитивной цветовой модели (RGB), описывающий способ синтеза цвета, по которому красное, зеленое и синее свет накладываются вместе, смешиваясь в различные цвета, параметры цветовая модели (HSL), где цвет определяется тремя характеристиками: цветовым тоном, насыщенностью (частью чистого цвета, без примеси черной и белой красок), яркостью (близостью изображения до белого цвета) и параметры семейства цветовых пр сторов (YCbCr), которые используются для передачи цветных изображений. Y - компонента яркости, Cb и Cr является синей и красной цветоразностными компонентами.
Рисунок 17 – Пример отображения параметров графического изображения средствами компонента StatusStrip
Перечень реализованных в программном обеспечении опций из цветной фильтрации графического изображения в главном меню пользователя приведен на рис.18. Поддерживаются возможности по преобразованию цветного изображения в оттенках серого, сепии (оригинал становится более тонированным, в коричневых тонах), инвертация цветов, извлечения красного, зеленого или синего каналов, вращения, и цветной фильтрации. Дополнительно поддерживаются опции по редактированию графического изображения согласно фильтров цветов пурпурного, голубого и желтого, что придает соответствующие эффекты образцу.
Рисунок 18 - Перечень реализованных в программном обеспечении опций из цветной фильтрации графического изображения
Перечень реализованных в программном обеспечении опций по фильтрации графического изображения в соответствии с цветовой модели в главном меню приведен на рис.19.
Пользователь имеет возможности по изменению параметров и настроек графического изображения по его яркости, контраста, насыщению, оттенка и задания параметров цветной модели HSL.
Рисунок 19 - Перечень реализованных в программном обеспечении опций по фильтрации графического изображения в соответствии с цветовой модели HSL
Интерфейс окна по коррекции насыщенности графического изображения в соответствии с цветовой модели HSL приведен на рис.20.
Данная форма предназначена для выполнения наглядного редактирования уровня насыщенности изображения, которое достигается за счет использования текстового поля, в которое пользователь может ввести соответствующее значение, окна предварительного просмотра изображения с активированной изменением значения насыщенности и компонента TrackBar.
Последний компонент интерфейса используется для просмотра сведений большого объема или для визуальной настройки числовых параметров. Он состоит из двух частей: ползунок и разделения. Ползунок служит средством настройки компонента. Его положение соответствует свойства Value.
Деления являются некоторыми визуальными отметками, расположенными через равные промежутки.
Рисунок 20 - Интерфейс окна по коррекции насыщенности графического изображения в соответствии с цветовой модели HSL
Третий раздел отражает специфику практической реализации программного приложения по обработке графических файлов средствами языка высокоуровневого программирования C# и среды разработки MS Visual Studio 2017. Описан состав разработанного проекта программного приложения с соответствующими иллюстрациями. Приведено описание реализации функциональных возможностей разработанного программного приложения, приведены скриншоты основных форм и результатов обработки фотоизображений.
ЗАКЛЮЧЕНИЕ
Исследование тематики языков программирования высокого уровня позволило мне выполнить следующие поставленные задачи:
- Проведен анализ особенностей объектно-ориентированных языков программирования.
- Осуществлен обзор существующих популярных парадигм реализации программного обеспечения.
- Выполнен аналитический обзор популярных языков программирования java, c#, python.
- Произведена практическая реализация программного приложения средствами языка программирования C#.
- Описан разработанный состав программного приложения
- Описаны основные функциональные возможности программного приложения.