Дмитрий Усенков - Занимательные задачи по программированию обработки растровой графики

Занимательные задачи по программированию обработки растровой графики
Название: Занимательные задачи по программированию обработки растровой графики
Автор:
Жанры: Практикумы | Научно-популярная литература
Серии: Нет данных
ISBN: Нет данных
Год: 2020
О чем книга "Занимательные задачи по программированию обработки растровой графики"

Пособие позволяет на практике познакомиться с основными алгоритмами компьютерной обработки растровой графики, выполняя задания по программированию на языке Visual Basic или Pascal версии ABC.Net. Материал может быть использован для внеурочной учебной деятельности, дополнительного образования, при выполнении учебных проектов и пр. Для школьников, учителей информатики, преподавателей дополнительного образования и для всех, интересующихся принципами работы компьютера с графическими данными.

Бесплатно читать онлайн Занимательные задачи по программированию обработки растровой графики


Введение

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

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

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


При решении предлагаемых в данной брошюре задач (при написании, исполнении и отладке соответствующих программ) предлагается использовать среду визуального программирования Visual Basic (VB) либо транслятор с языка Паскаль – PascalABC.Net. Каждое из этих двух инструментальных средств обладает своими преимуществами и особенностями при работе с растровой графикой, которые будут рассмотрены далее.

Visual Basic как лабораторная среда

Выбор среды визуального программирования Visual Basic (VB) в качестве лабораторной среды обусловлен следующими соображениями.

Во-первых, язык Бейсик, на котором реализуются программные модули в VB, всем хорошо знаком и понятен, а сама оболочка Visual Basic достаточно популярна. (Для написания предлагаемых читателям листингов использована версия Visual Basic 6.0, которая в свое время распространялась по школам, но эти программы могут быть переписаны на новые версии VB или на другом языке программирования, в котором реализован функционал для работы с растровой графикой.)

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

Наконец, в третьих, Visual Basic предоставляет удобное средство загрузки на экранную форму исходного изображения из любого внешнего файла (например, формата BMP), не требуя разработки соответствующей подпрограммы и обращения к библиотекам работы с растровой графикой.

Методическая ценность использования Visual Basic в качестве лабораторной среды при изучении сложных алгоритмов также существенно повышается благодаря наличию в VB широкого набора встроенных средств отладки программ, что позволяет легко организовать отслеживание работы алгоритмов – в частности, контроль значений выбранных переменных. При этом режим отладки позволяет выполнять программу «по шагам» (по одной строке листинга при каждом нажатии клавиши F8), просматривая в отдельном окне выведенные системой отладки текущие значения отслеживаемых переменных.

Напомним, что управление средствами отладки сосредоточено в меню Debug (Отладка):

– пункт Add Watch (Добавить Наблюдателя) позволяет добавить любую из имеющихся в листинге переменных в список отслеживания значений (можно предварительно выделить в листинге имя требуемой переменной, тогда оно автоматически будет занесено в соответствующую графу окна добавления переменной, даже если выделенное имя не было скопировано в буфер обмена);

– пункт Edit Watch (Правка Наблюдателя) раскрывает окно управления списком отслеживаемых переменных, где можно добавлять новые переменные или удалять существующие, ставшие ненужными;

– пункт Toggle Breakpoint (Включить Финиш-Точки) либо горячая клавиша F9 позволяют создавать (или, при повторном вызове, снимать) в листинге контрольные точки останова. При вызове этого пункта или нажатии клавиши F9 текущая строка листинга, на которой находился текстовый курсор, выделяется бордовой фоновой подсветкой, а запущенная на выполнение программа, дойдя до отмеченной строки, приостанавливается, и Visual Basic переходит в режим отладки.

Запуск написанных программ и просмотр получаемых результатов мы будем производить средствами оболочки VB, хотя ничто не запрещает при желании и оттранслировать результаты работы в виде полноценного Windows-приложения.

Создание экранной формы

После запуска среды Visual Basic на экране появляется ряд отдельных окон и панелей (рис. 1), среди которых для нас важными являются:

– основная панель вверху экрана (главное меню и строка кнопок);

– панель инструментов (слева), содержащая кнопки для добавления на создаваемую экранную форму тех или иных объектов интерфейса;

– сама экранная форма – при открытии VB создается по умолчанию, для добавления новой экранной формы нужно воспользоваться кнопкой



– окно проекта (справа вверху), содержащее перечень созданных экранных форм и стандартных библиотек (если созданная экранная форма отсутствует на экране, ее окно можно раскрыть двойным щелчком мыши на соответствующей строке окна проекта);

– окно свойств объекта – раскрывается автоматически; при закрытии может быть повторно раскрыто с помощью кнопки







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

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

2. Выбирая в панели инструментов кнопку



разместим («нарисуем») на экранной форме два объекта «поле рисунка» (Picture Box), расположив их рядом по горизонтали.

3. Выбрав в панели инструментов кнопку



разместим в нижней части экранной формы управляющую кнопку (Command Button).

4. Выполнив однократный щелчок мышью на каждом из добавленных объектов и обратившись к окну свойств объекта, зададим следующие значения их параметров:





Остальные «оформительские» параметры для кнопки и экранной формы в целом (цвет фона, цвет надписи на кнопке и пр.) можно установить по своему желанию.


С этой книгой читают
Сегодняшняя книга все чаще не бумажная, а электронная. Причины очевидны: электронные книги более компактны (на маленькой флешке, вставленной в смартфон, можно уместить целую библиотеку), они дешевле для читателей (а зачастую – и вовсе бесплатны), в них без излишнего удорожания можно использовать цветные иллюстрации и цветовое оформление и даже добавлять в электронную книгу интерактивные элементы!А хотите ли вы, дорогой читатель, научиться создава
Летом 2017 года в школы в рамках гос. поставок по проекту «Техносфера современной школы» поступили комплекты 3D-оборудования, в том числе 3D-принтеры Hephestos и 3D-сканеры Ciclop. Однако и 3D-принтеры, и 3D-сканеры поставлялись в виде «конструктора» – набора деталей, из которых требовалось самостоятельно собрать принтер и сканер, отладить и настроить их. Данное пособие поможет вам сделать эту работу. Оно содержит советы и рекомендации автора, ко
Пособие предназначено для формирования и отработки вычислительных навыков ("устный счет", "счет в уме") в 1 классе начальной школы и содержит 80 вариантов готовых контрольно-измерительные материалов (4800 примеров), составленных в соответствии с типовой образовательной программой по математике и предназначенных для раздачи учащимся в качестве проверочных работ.Для учителей начальных классов, ведущих занятия по математике, и для родителей, желающи
Теорема Виета позволяет быстро находить решения квадратных уравнений, не прибегая к вычислениям с использованием дискриминанта, однако учебно-методических материалов для отработки навыков поиска корней по формуле Виета имеется крайне мало. Данное пособие призвано хотя бы частично устранить этот дефицит и содержит 600 готовых примеров квадратных уравнений с целыми корнями, а также ответы на эти примеры для проверки и самоконтроля. Пособие предназн
Желаете достичь успехов в учёбе? Тогда эта книга для Вас. В ней содержатся советы и практические рекомендации, которые помогут школьникам, студентам и курсантам в учебной деятельности. Цель автора мотивировать учащихся к самообразованию, усердному труду и активной общественной жизни. Стать отличником по силам каждому, нужно лишь выработать свою стратегию и действовать, преодолевая все препятствия на своём пути.
Книга будет представлять собой практикум по работе с неопределенными интегралами с помощью нейросетей. С их помощью в данной книге вводятся и поясняются определения интеграла и его свойства.
Узнайте больше о себе и своих стратегиях через исследование гардероба. Каким образом та или иная одежда попадает в ваш шкаф и о чем это говорит. Вы действительно это хотите сообщить о себе?Что о вас говорит ваш гардероб и что он мог бы сказать? А что вы хотели бы, чтобы он говорил? Вы узнаете много о своём гардеробе и кое-что о себе.Книга состоит из интересных заданий, выполняя которые вы определите свои предпочтения в одежде и стиле, сформируете
Начало работы в новом коллективе для девушки оказывается непростым испытанием. Желая произвести хорошее впечатление на коллег, она решает приготовить для них вкусный вишневый пирог. Но судьба преподносит ей неприятный сюрприз – ее начальник, откусив кусок пирога, ломает зуб из-за случайно попавшейся косточки.
В своей новой книге автор, последовательно анализируя идеологию либерализма, приходит к выводу, что любые попытки построения в России современного, благополучного, процветающего общества на основе неолиберальных ценностей заведомо обречены на провал. Только категорический отказ от чуждой идеологии и возврат к основополагающим традиционным ценностям помогут русским людям вновь обрести потерянную ими в конце XX века веру в себя и выйти победителями
«Антология Живой Литературы» (АЖЛ) – книжная серия издательства «Скифия», призванная популяризировать современную поэзию и прозу. В серии публикуются как известные, так и начинающие русскоязычные авторы со всего мира.
Эта книга – мой личный шедевр. Это действительно то, во что я вложил всю свою душу. Я не жалел ради нее ни времени, ни сил, ни чего либо другого – и вот, вы теперь можете ее прочесть. В ней есть как и сказки, так и рассказы и стихи. И все они тоже разные – какими-то могут насладиться как взрослые, так и дети, а какие-то лучше детям не показывать. Вот такая "Сказка для взрослых"…
Simon and Mary love each other. He waits for hours at the window for her return from work. She monitors his health and diet. Their literary tastes coincide, and together they spend long evenings reading books. Their idlily is broken by a certain character named Vergenius who is offering tickets to the musical and throwing French words. Simon is responsible for his happiness and does not want to share the attention of his queen. In the name of lov