Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Волченков Проектирование WИНДОWС-приложениы на языке ВИСУАЛ БАСИЦ 2015

.pdf
Скачиваний:
7
Добавлен:
12.11.2022
Размер:
2.37 Mб
Скачать

Private Sub Увеличенное_Click(ByVal sender _ As System.Object, _

ByVal e As System.EventArgs) _

Handles Увеличенное.Click

k = InputBox("Введите значение k", _

"Ввод коэффициента увеличения", 1.5)

Me.Width = w0 + (k - 1) * w

Me.Height = h0 + (k - 1) * h PictureBox2.Width = k * (w + 1) PictureBox2.Height = k * (h + 1) For y = 0 To h

For x = 0 To w

Page2.SetPixel(x, y, c(x, y))

Next

Next

MsgBox("На Page2 - копия Page1") p = "увеличенное"

End Sub

Private Sub Уменьшенное_Click(ByVal sender _ As System.Object, _

ByVal e As System.EventArgs) _ Handles Уменьшенное.Click

k = InputBox("Введите значение k", _

"Ввод коэффициента уменьшения", 0.5) PictureBox2.Width = k * (w + 1) PictureBox2.Height = k * (h + 1)

For y = 0 To h

For x = 0 To w

Page2.SetPixel(x, y, c(x, y))

Next

Next

MsgBox("На Page2 - копия Page1") p = "уменьшенное"

End Sub

Private Sub Нарисовать_Click(ByVal sender _ As System.Object, _

ByVal e As System.EventArgs) _ Handles Нарисовать.Click

Select Case p

Case "негативное", "черно-белое" gr = PictureBox2.CreateGraphics

91

gr.Clear(PictureBox2.BackColor) For y = 0 To h

For x = 0 To w

cp = Page2.GetPixel(x, y) Dim br As New SolidBrush(cp)

gr.FillRectangle(br, x, y, 1, 1)

Next

Next

Case "увеличенное", "уменьшенное" gr = PictureBox2.CreateGraphics gr.Clear(PictureBox2.BackColor) For y = 0 To h

For x = 0 To w

cp = Page2.GetPixel(x, y) Dim br As New SolidBrush(cp) gr.FillRectangle(br, _

k * x, k * y, k, k) Next

Next End Select

Нарисовать.Enabled = False

ОбработатьИзображение.Enabled = True End Sub

Пример результата работы процедур построения негативного изображения (команда подменю Негативное) и рисования полу-

ченного результата (команда меню Нарисовать) показан на рис.

6.6.

Примеры результата работы процедур построения увеличенного и уменьшенного изображения (команды подменю Увеличенное и Уменьшенное) и рисования полученного результата (команда меню Нарисовать) показаны на рис. 6.8 и 6.9.

Варианты задания 6.3.

Вариант 1. Написать процедуру команды Слева-направо – 3-й команды подменю, показанного на рис. 6.6.

Вариант 2. Написать процедуру команды Сверху-вниз – 4-й команды подменю, показанного на рис. 6.6.

92

Рис. 6.8. Окно приложения после построения увеличенного изображения и рисования результата

Рис. 6.9. Окно приложения после построения уменьшенного изображения и рисования результата

93

Изображения, которые должны получиться в результате работы процедур варианта 1 и варианта 2, показаны на рис. 6.10.

Рис. 6.10. Результат преобразования «слева-направо» и «сверху-вниз»

Указания.

1. В обоих вариантах необходимо внести необходимые коррективы в процедуру для команды меню Нарисовать – учесть новые значения переменной p.

2. Использовать следующие «заготовки» для процедур:

Private Sub СлеваНаправо_Click(ByVal sender _ As System.Object, _

ByVal e As System.EventArgs) _ Handles СлеваНаправо.Click

<Строки процедуры Варианта 1>

MsgBox("Зеркальное (слева-направо) - на Page2") p = "слева-направо"

End Sub

Private Sub СверхуВниз_Click(ByVal sender _ As System.Object, _

ByVal e As System.EventArgs) _ Handles СверхуВниз.Click

<Строки процедуры Варианта 2>

MsgBox("Зеркальное (сверху-вниз) - на Page2") p = "сверху-вниз"

End Sub

94

Отчет о работе

Отчет заключается в демонстрации студентом на терминале работы трёх самостоятельно отлаженных проектов: «Сортировка массива», «Быстрый поиск в отсортированном массиве методом дихотомии» и «Обработка изображения как двумерного массива пикселей». Проекты должны давать ожидаемые результаты при работе в режиме отладчика.

Должна быть также представлена демонстрация исполняемых Windows приложений, соответствующих трём указанным проектам.

95

Список рекомендуемой литературы

1.Лукин С.Н. Понятно о Visual Basic .NET. Самоучитель. М.: ДИАЛОГ-МИФИ, 2005. – 736 с.

2.Богданов М.Р. Visual Basic 2005 на примерах. – СПб.: БХВПетербург, 2007. – 592 с.

3.Зиборов В.В. Visual Basic 2010 на примерах. – СПб.: БХВ-

Петербург. 2010. – 336 с.

4.Дукин А.Н., Пожидаев А.А. Самоучитель Visual Basic 2010. – СПб.: БХВ-Петербург, 2010. – 560 с.

96

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]