Чтение онлайн

на главную - закладки

Жанры

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

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

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

1. Перетаскивая мышью

углы и границы окна, увеличим размеры предлагаемой экранной формы до требуемых.

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

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

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

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

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

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

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

6. Для объекта Picture1 (левое поле рисунка) в окне свойств выберем строку Picture и щелкнем мышью на ней, а затем на появившейся в правом верхнем углу окна свойств (в строке ввода значений параметров) кнопке

и в выведенном на экране стандартном окне открытия файлов выберем желаемый графический файл. Щелкнем мышью на кнопке ОК, – выбранный рисунок будет помещен в левое поле, которое автоматически примет требуемые размеры.

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

Полученный возможный внешний вид созданной экранной формы показан на рис. 3.

Графические возможности Visual Basic

Среда Visual Basic предоставляет весь типовой набор стандартных графических операторов, который присущ современным языкам программирования высокого уровня, в том числе рисование отрезков, прямоугольников и окружностей, управление

толщиной и стилем рисуемых линий, закраской и пр. Но нас будут интересовать только операции для работы с отдельными пикселями и кодированием цвета:

Point(x,y) – возвращает значение цвета точки с координатами (x,y), закодированное в виде 2-байтного числа;

PSet (x,y),c – выводит точку с координатами (x,y) и цветом, указанным в виде 2-байтного числа;

RGB(R,G,B) – возвращает 2-байтное значение цвета, синтезируя его из отдельных 1-байтовых значений яркостей основных цветов – R (красный), G (зеленый) и B (синий), лежащих в диапазоне от 0 до 255. Обратная функция для разбиения 2-байтного значения цвета на значения яркостей основных цветов, в VB, к сожалению, отсутствует. О том, как заменить ее в программе, будет рассказано чуть позже.

Следует заметить, что в VB работа с пикселями реализуется в поле рисунка (Picture Box), а имя соответствующего объекта (значение параметра Name) указывается через точку при вызове функций Point и PSet, например:

PascalABC.Net как лабораторная среда

Транслятор с языка программирования Паскаль – PascalABC.Net – не является средой визуального программирования, поэтому просто «нарисовать» на экране какую-либо экранную форму для создания приложения в нем не удастся. Имеющиеся в составе PascalABC.Net стандартные библиотеки позволяют лишь открыть на экране одно-единственное окно заданных размеров (в нашем случае – аналогичное окну экранной формы в VB), в котором производится как ввод/вывод текста (при помощи привычных read и write либо readln и writeln), так и вывод растровой графики в указанных в программе местах окна (рис. 4).

Однако значительным преимуществом PascalABC.Net является его общедоступность и бесплатность. В отличие от коммерческого Visual Basic, транслятор PascalABC.Net является свободно распространяемым , обеспечивает поддержку всех современных версий Windows и прост в освоении и использовании, а язык Паскаль во многих школах является «базовым» при преподавании информатики.

Транслятор PascalABC.Net также представляет возможности отладки программ:

– кнопка

панели инструментов либо клавиша F8 позволяет выполнять программу «по шагам» (каждое нажатие указанной кнопки или клавиши исполняет одну очередную строку программы, которая выделяется желтой подстветкой);

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

– имеется возможность просмотра в процессе пошагового исполнения программы значений выбранных переменных или заданных выражений. Все используемые в программе переменные и массивы доступны для просмотра их значений на вкладке Локальные переменные

Конец ознакомительного фрагмента.

12
Поделиться:
Популярные книги

Глинглокский лев. (Трилогия)

Степной Аркадий
90. В одном томе
Фантастика:
фэнтези
9.18
рейтинг книги
Глинглокский лев. (Трилогия)

Всадник Системы

Poul ezh
2. Пехотинец Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Всадник Системы

Хроники хвостатых: Ну мы же биджу...

Rana13
Фантастика:
фэнтези
5.00
рейтинг книги
Хроники хвостатых: Ну мы же биджу...

Наследник павшего дома. Том I

Вайс Александр
1. Расколотый мир
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наследник павшего дома. Том I

Идеальный мир для Лекаря 12

Сапфир Олег
12. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 12

Магия чистых душ 2

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.56
рейтинг книги
Магия чистых душ 2

Новый Рал 3

Северный Лис
3. Рал!
Фантастика:
попаданцы
5.88
рейтинг книги
Новый Рал 3

Эволюционер из трущоб. Том 6

Панарин Антон
6. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Эволюционер из трущоб. Том 6

Как я строил магическую империю 4

Зубов Константин
4. Как я строил магическую империю
Фантастика:
боевая фантастика
постапокалипсис
аниме
фантастика: прочее
фэнтези
5.00
рейтинг книги
Как я строил магическую империю 4

An ordinary sex life

Астердис
Любовные романы:
современные любовные романы
love action
5.00
рейтинг книги
An ordinary sex life

Прометей: Неандерталец

Рави Ивар
4. Прометей
Фантастика:
героическая фантастика
альтернативная история
7.88
рейтинг книги
Прометей: Неандерталец

(Не)свободные, или Фиктивная жена драконьего военачальника

Найт Алекс
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
(Не)свободные, или Фиктивная жена драконьего военачальника

Леди Малиновой пустоши

Шах Ольга
Любовные романы:
любовно-фантастические романы
6.20
рейтинг книги
Леди Малиновой пустоши

Камень. Книга 4

Минин Станислав
4. Камень
Фантастика:
боевая фантастика
7.77
рейтинг книги
Камень. Книга 4