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

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

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

<p>Создание экранной формы</p>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Среда 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, например:

<p>PascalABC.Net как лабораторная среда</p>
Перейти на страницу:

Похожие книги

Человек 2050
Человек 2050

Эта книга расскажет о научных и социальных секретах – тайнах, которые на самом деле давно лежат на поверхности. Как в 1960-х годах заговор прервал социалистический эксперимент, находившийся на своём пике, и Россия начала разворот к архаичному и дикому капитализму? В чем ошибался Римский Клуб, и что можно противопоставить обществу "золотого миллиарда"? Каким должен быть человек будущего и каким он не сможет стать? Станет ли человек аватаром – мёртвой цифровой тенью своего былого величия или останется образом Бога, и что для этого нужно сделать? Наконец, насколько мы, люди, хорошо знаем окружающий мир, чтобы утверждать, что мы зашли в тупик?Эта книга должна воодушевить и заставить задуматься любого пытливого читателя.

Евгений Львович Именитов

Альтернативные науки и научные теории / Научно-популярная литература / Образование и наука
Происхождение эволюции. Идея естественного отбора до и после Дарвина
Происхождение эволюции. Идея естественного отбора до и после Дарвина

Теория эволюции путем естественного отбора вовсе не возникла из ничего и сразу в окончательном виде в голове у Чарльза Дарвина. Идея эволюции в разных своих версиях высказывалась начиная с Античности, и даже процесс естественного отбора, ключевой вклад Дарвина в объяснение происхождения видов, был смутно угадан несколькими предшественниками и современниками великого британца. Один же из этих современников, Альфред Рассел Уоллес, увидел его ничуть не менее ясно, чем сам Дарвин. С тех пор работа над пониманием механизмов эволюции тоже не останавливалась ни на минуту — об этом позаботились многие поколения генетиков и молекулярных биологов.Но яблоки не перестали падать с деревьев, когда Эйнштейн усовершенствовал теорию Ньютона, а живые существа не перестанут эволюционировать, когда кто-то усовершенствует теорию Дарвина (что — внимание, спойлер! — уже произошло). Таким образом, эта книга на самом деле посвящена не происхождению эволюции, но истории наших представлений об эволюции, однако подобное название книги не было бы настолько броским.Ничто из этого ни в коей мере не умаляет заслуги самого Дарвина в объяснении того, как эволюция воздействует на отдельные особи и целые виды. Впервые ознакомившись с этой теорией, сам «бульдог Дарвина» Томас Генри Гексли воскликнул: «Насколько же глупо было не додуматься до этого!» Но задним умом крепок каждый, а стать первым, кто четко сформулирует лежащую, казалось бы, на поверхности мысль, — очень непростая задача. Другое достижение Дарвина состоит в том, что он, в отличие от того же Уоллеса, сумел представить теорию эволюции в виде, доступном для понимания простым смертным. Он, несомненно, заслуживает своей славы первооткрывателя эволюции путем естественного отбора, но мы надеемся, что, прочитав эту книгу, вы согласитесь, что его вклад лишь звено длинной цепи, уходящей одним концом в седую древность и продолжающей коваться и в наше время.Само научное понимание эволюции продолжает эволюционировать по мере того, как мы вступаем в третье десятилетие XXI в. Дарвин и Уоллес были правы относительно роли естественного отбора, но гибкость, связанная с эпигенетическим регулированием экспрессии генов, дает сложным организмам своего рода пространство для маневра на случай катастрофы.

Джон Гриббин , Мэри Гриббин

Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература / Научно-популярная литература / Образование и наука
Люди на Луне
Люди на Луне

На фоне технологий XXI века полет человека на Луну в середине прошлого столетия нашим современникам нередко кажется неправдоподобным и вызывает множество вопросов. На главные из них – о лунных подделках, о техническом оснащении полетов, о состоянии астронавтов – ответы в этой книге. Автором движет не стремление убедить нас в том, что программа Apollo – свершившийся факт, а огромное желание поделиться тщательно проверенными новыми фактами, неизвестными изображениями и интересными деталями о полетах человека на Луну. Разнообразие и увлекательность информации в книге не оставит равнодушным ни одного читателя. Был ли туалет на космическом корабле? Как связаны влажные салфетки и космическая радиация? На сколько метров можно подпрыгнуть на Луне? Почему в наши дни люди не летают на Луну? Что входит в новую программу Artemis и почему она важна для президентских выборов в США? Какие технологии и знания полувековой давности помогут человеку вернуться на Луну? Если вы готовы к этой невероятной лунной экспедиции, тогда: «Пять, четыре, три, два, один… Пуск!»

Виталий Егоров (Zelenyikot) , Виталий Юрьевич Егоров

Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература / История / Научно-популярная литература / Учебная и научная литература / Образование и наука