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

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


Скачать книгу
редактора несколько исходных картинок формата ВМР (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 является его общедоступность и бесплатность. В отличие


Скачать книгу