Лабораторні / 16 Робота із графікою в середовищі Visual Basic
.doc16 ЛАБОРАТОРНА РОБОТА № 16
Тема: |
Робота із графікою в середовищі Visual Basic. |
Мета: |
Вивчення можливостей розробки графічних додатків. |
Час: |
2 год. |
-
Виконання роботи
-
Представити викладачу виконане завдання для самопідготовки. Умову завдання наведено в п. 16.2.
-
Запустити програму Visual Basic.
-
Проробити контрольний приклад.
-
Виконати самостійну роботу.
-
Оформити звіт. Вимоги до оформлення звіту наведені в п. 17.5.
-
Захистити лабораторну роботу. Питання для самоконтролю наведені в п. 7.6.
-
Завдання для самопідготовки
У процесі підготовки до заняття студент в обов'язковому порядку повинний виконати наступні завдання:
а) За допомогою конспекту лекцій та рекомендованої літератури розглянути сутність таких питань:
-
Які керуючі елементи VB ставляться до графічних елементів?
-
Які властивості графічного об'єкта визначають вид лінії, її товщину, її цвіт, а також вид заповнення фігури?
-
Яке призначення й синтаксис методу Line?
-
Яке призначення й синтаксис методу Circle?
-
На що впливає значення властивості FillStyle?
-
На що впливає значення властивості FillColor?
-
На що впливає значення властивості DrawWidth?
-
На що впливає значення властивості DrawStyle?
-
Пояснити роботу процедури Command1_Click.
-
Як можна заповнити об'єкт змінним цвітом?
б) Занести в звіт такі дані:
-
номер лабораторної роботи;
-
тему і ціль роботи;
-
короткий конспект основних теоретичних відомостей.
-
Теоретичні відомості
Існує два об'єкти контейнера, здатні містити в собі точковий малюнок із графічного файлу і які дозволяють малювати на своїй поверхні за допомогою графічних методів – це форма і елемент PictureBox (графічне поле). Обидва вони можуть містити в собі інші керуючі елементи й мають графічні методи. Як форма, так і графічне поле мають систему координат. За замовчуванням початок відліку перебуває в лівому верхньому куті об'єкта. Вісь Х спрямована вправо, вісь Y униз.
Графічні керуючі елементи:
В VB існує три графічних елементи керування:
-
Image (малюнок).
-
Line (лінія).
-
Shape (фігура).
Із застосуванням цих трьох елементів керування можна створювати графіки простіше, ніж за допомогою графічних методів. Однак ця мета досягається за рахунок обмеження інших можливостей - вони не можуть служити як контейнери для інших елементів керування й не можуть одержувати фокус у період виконання.
Загальними параметрами для всіх графічних об'єктів є:
-
координати, що визначають їх розташування у вікні;
-
колір об'єктів;
-
колір заливання об'єктів, якщо вони обмежені замкнутою лінією.
Координати розташування об'єктів:
Координати відлічуються від лівого верхнього кута вікна. Одиницею відліку за замовчуванням є Twip. У процесі розробки додатка можна змінювати одиницю вимірювання, використовуючи властивість об’єкту ScaleMode (таблиця 7.1).
Таблиця 7.1 - Таблиця одиниць вимірювання, встановлених у ScaleMode
ScaleMode |
Одиниці виміру |
0 |
Визначаються користувачем |
1 |
Twip (за замовчуванням) - 1/20 пункту або 1/1440 дюйма або ~0.002 див |
2 |
Point (пункт) - 1/72 дюйма або 0,035 див. |
3 |
Pixel - точки |
4 |
Character (cимволы) - 1/6 дюйма по вертикалі й 1/12 дюйма по горизонталі |
5 |
Inch - дюйми |
6 |
Millimeter - міліметри |
7 |
Centimeter - сантиметри |
-
Практична частина
Завдання 1. Використовуючі кресленя деталі за її геометричними розмірам обчислити вагу деталі.
-
Запустити систему VB, створити новий проект.
-
Збережіть форму й проект в робочій папці.
-
За допомогою керуючих елементів Line і Shape зобразити на формі креслення цапфи (рисунок 7.1). Відповідно до цього ж рисунка помістіть на формі кнопку, чотири написи й п'ять текстових полів.
-
Встановите значення властивостей об'єктів проекту, щоб інтерфейс відповідав рисунку 7.2.
-
Збережіть проект.
-
Введіть програмний код:
Option Explicit
Private Sub Command1_Click()
Const pi As Single = 3.14159
Dim Пит_вага As Single
Пит_вага = InputBox ("Введіть питому вагу матеріалу" & _
"у грамах на кубічний сантиметр")
Label2.Caption = Format((Text1.Text* pi * Text5.Text ^ 2/4 + (Text2.Text - Text1.Text) * pi * Text4.Text ^ 2/4 + (Text3.Text - Text2.Text) * pi * Text5.Text ^ 2/4) / 1000 * Пит_вага, "###0.0 р.")
End Sub
Ця програма при клікі на кнопці Command1 обчислює вагу деталі по питомій вазі матеріалу, вираженій у грамах на кубічний сантиметр, і за геометричними розмірами деталі, що виражені у міліметрах.
-
Запустіть додаток, клік на кнопці Command1, наберіть у вікні функції значення питомої ваги сталі (7,8 г/см3) і клацніть на кнопці ОК. Зверніть увагу, у режимі виконання додатка можна змінювати розміри деталі, змінюючи зміст відповідних текстових полів, і перераховувати вагу деталі після нового кліку на кнопці Command1.
Завдання 2 . Побудувати гафіки функцій:
y = 30 / (x ^ 2 + 5)
y = (3 * x ^ 2) * Sin(x) / 1.5
y = 0.3 * Abs(x ^ 2 - 6 * x + 5)
-
Запустити систему VB, створити новий проект.
-
Збережіть форму й проект в робочій папці.
-
За допомогою керуючих елементів CommandButtun і PictureBox зобразити на формі наступний інтерфейс роботи програми (рисунок 7.3). Відповідно до рисунка 3 помістіть на формі 5 кнопок і один елемент PictureBox.
Рисунок 7.3 – Інтерфейс
роботи програми
-
Введіть програмний код
Private Sub Command1_Click()
Picture1.Scale (-10, 10)-(10, -10) ‘ задає розмірність Picture1
For i = -10 To 10 ‘ малює вертикальні лініі сітки
Picture1.Line (i, -10)-(i, 10), RGB(200, 220, 225)
Picture1.PSet (i, 0)
Picture1.Print i
Next
For i = -10 To 10 ‘ малює горизонтальні лініі сітки
Picture1.Line (-10, i)-(10, i), RGB(200, 220, 225)
Picture1.PSet (0, i)
Picture1.Print i
Next
Picture1.Line (-10, 0)-(10, 0), QBColor(8) ‘ малює вісь Х
Picture1.Line (0, -10)-(0, 10), QBColor(8) ‘ малює вісь У
End Sub
Private Sub Command2_Click()
Picture1.Scale (-10, 10)-(10, -10)
For x = -10 To 10 Step 0.01 ‘ обчислює графік першої функції
y = 30 / (x ^ 2 + 5)
Picture1.PSet (x, y), vbBlue
Next
End Sub
Private Sub Command3_Click()
Picture1.Scale (-10, 10)-(10, -10)
For x = -8 To 8 Step 0.01 ‘ обчислює графік другої функції
y = (3 * x ^ 2) * Sin(x) / 1.5
Picture1.PSet (x, y), vbRed
Next
End Sub
Private Sub Command4_Click()
Picture1.Scale (-10, 10)-(10, -10)
For x = -10 To 10 Step 0.01 ‘ обчислює графік третьої функції
y = 0.3 * Abs(x ^ 2 - 6 * x + 5)
Picture1.PSet (x, y), vbBlack
Next
End Sub
Private Sub Command5_Click()
Picture1.Cls ‘ очищує графічне окно Picture1
End Sub
В даній задачі при побудові графіків функцій використовувався метод Scale, снтаксис якого
Ім’я об’єкта.Scale(Xmin,Ymax)-(Xmax,Ymin)
Завдання 3. Створити проект, що використовує об'єкт CommonDialog для візуального пошуку й відкриття графічних файлів .bmp, .jpg, .gif.
-
Запустити систему VB, створити новий проект.
-
Збережіть форму й проект в робочій папці.
-
Розмістить на панелі елементів керування Visual Basic компоненти Microsoft Commom Dialog Control 6.0.
-
На формі розмістити відповідні елементи керування (рисунок 7.4).
Рисунок 7.4 – Розміщення об’єктів на формі
-
Введіть програмний код
Рисунок 7.5 – Програмний код
-
Запустити проект. Використовуючи стандартне вікно відкриття файлу ви зможете візуально шукати й відкривати файл.
Рисунок 7.6 – Вікно відкриття файлу
Рисунок 7.7 – Результат виконаної програми
-
Самостійна робота
Завдання 1
Створіть проект, що дозволяє будувати графіки (відповідно до індивідуального завдання (таблиця 5). Збережіть проект на диску.
Таблиця 5 - Варіанти завдань
№ варіанта |
Завдання |
1 |
Побудувати графік функції Y=k*x на відрізку [0, 1] при K=3.5 |
2 |
Побудувати графік функції Y=3*x2 на відрізку [-5, 5] |
З
Створіть проект і напишіть програму "Світлофор", що дозволяє по натисканню кнопки "включати" задане світло світлофора. Збережіть проект на диску.
Завдання 3
Створіть проект, що дозволяє переглядати графічні файли. Спроектуйте свою форму (робоче вікно) програми перегляду графічних файлів. Використайте різні варіанти пошуку й відкриття файлу. Збережіть проект на диску.
-
Вимоги до оформлення звіту
Звіт повинний містити:
-
Короткий конспект теоретичних відомостей;
-
Результати виконаних дій.
-
Контрольні питання
-
Де перебуває початок координат вікна?
-
Якими способами можна задати колір?
-
Назвіть процедури виводу графічних примітивів ви знаєте?
-
Які параметри має процедура виводу точки?
-
Які параметри має процедура побудови лінії (відрізка), прямокутника?
-
Які параметри має процедура побудови окружності, дуги, сектора, еліпса?
-
Як виконати зафарбування замкнутих фігур?
-
Як описуються події в Visual Basic?
-
Які події ви знаєте, приведіть приклади подій?
-
Як в Visual Basic можна організувати вивод готового малюнка?
-
Для чого використається об'єкт CommonDialog?
-
Як очистити графічне поле PictureBox після виводу на нього малюнка?