
- •Основи роботи в середовищі Visual Basic Лекція 5. Створення графічних зображень в vb
- •2. Графічні керуючі елементи Image та PictureBox
- •1. Графічні керуючі елементи
- •2. Графічні керуючі елементи Image та PictureBox
- •3. Використання графічних методів
- •Завдання кольору в Visual Basic 6.0
- •Властивості BackColor, FillColor і ForeColor
- •Мал. 3. Кольорові круги
- •4. Переміщення об'єктів
Властивості BackColor, FillColor і ForeColor
У вікні Властивості в списку властивостей форми є три властивості, які визначають колір: BackColor — визначає колір тла форми, FillColor — визначає колір внутрішньої заливки фігур, створених графічними методами, і ForeColor — задає колір ліній і контурів фігур.
Приклад 4. Визначальні колір властивості об'єктів
У листингу 4 показано код програми, що малює на жовтій формі синє коло, залите червоним кольором. Синій колір (vbBlue), заданий разом з методом Circle, переміг зелений колір (vbGreen), заданий в коді властивістю ForeColor. У свою чергу, заданий в коді зелений колір перемагає колір, який може бути заданий властивістю ForeColor у вікні властивостей.
Листинг 4. Властивості об'єктів і колір
Private Sub Form_Load() Show
DrawWidth = 5
BackColor = vbBlue 'синій колір форми
FillStyle = 0 'заливка круга
FillColor = vbRed 'червоний колір заливки
Circle (1000, 1000), 500, vbCyan 'коло блакитного кольору
ForeColor = QBColor(15) 'білий колір напису
FontSize = 12: Print Spc(5); "Завдання кольору"
End Sub
Приклад 5. Демонстрація палітри з 16 кольорів
У листингу 5 приведений код програми, яка малює у формі 16 кругів, зафарбованих різним кольором, що задається функцією QBColor (номер кольору). Результат роботи програми представлено на мал. 3.
Листинг 5. Кольорові круги
Dim x As Integer: Dim b As Integer: Dim c As Integer
Private Sub Form_Load()
Show
WindowState = 2 'форма розгорнута
For x = 1000 To 8000 Step 2000 'центр кола по горизонталі
For b = 1000 To 8000 Step 2000 'центр кола по вертикалі
FillColor = QBColor(с): FillStyle = 0 'колір і стиль заливки
Circle (x, b), 400, QBColor(с) 'вивід у форму кола
Print String(12, 32); с 'вибір місця і виведення номера кольору
с = с + 1 'перебір номерів кольору від 0 до 15
Next b
Next x
End Sub
Мал. 3. Кольорові круги
4. Переміщення об'єктів
При переміщенні об'єктів за програмою застосовується система координат, що складається з рядків (вісь X) та стовпців (вісь Y). Точка в системі координат визначається перетином рядка і стовпця, а її координата записується у вигляді (х, у). Початок системи координат (0, 0) — у верхньому лівому кутку форми.
Для переміщення об'єктів у формі також використовують команду Move, яка має такий загальний вигляд:
об'єкт. Move X,Y,
де X — відстань між лівою межею форми й об'єктом; Y — відстань від верхньої межі форми до об'єкта. Наприклад, оператор
Picturel.Move 1000,1000
установлює об'єкт у точку із заданими координатами.
Властивості об'єкта Top, Left (зверху, ліворуч) визначають відстань від відповідних меж форми і використовуються для виконання відносного переміщення об'єкта. Наприклад, оператор
Picturel.Move Picturel.Left + 25, Picturel.Top - 25
пересуває об'єкт на 25 одиниць від лівого краю та на 25 одиниць до верхнього краю форми.
Приклад 3. Програма створення ефекту анімації. В цій програмі за допомогою оператора Move та об'єкта Timer відбувається переміщення об'єкта PictureBox після активізації командної кнопки Початок руху.
Для реалізації цього алгоритму у формі треба створити об'єкти з такими значеннями властивостей:
CommandButton (командна кнопка1)
Caption — Рух
CommandButton (командна кнопка2)
Caption — Зупинка PictureBox
Picture — вибір графічного файла
Timer1
Enabled — False
Interval — 75
У вікні Code для кожного об'єкта додають такі програмні оператори:
Private Sub Command1_Click()
Timerl. Interval = 75
Timerl.Enabled =True
End Sub
Private Sub Command2_Click()
Timer1.Enabled = False
End Sub
Private Sub Timer1_Timer()
Picture1.Move Picture1.Left + 25, Picture1.Top+0
End Sub
Програма працює під керуванням таймера. Перша кнопка активізує його дію, починається рух зображення на екрані дисплея; друга кнопка зупиняє таймер, при цьому процедура оброблення дії таймера припиняється (Private Sub Timerl_Timer()).
Екранна форма має вигляд, показаний на малюнку.
Мал. 4. Екрана форма рухомого об'єкту
Створення графічних зображень і робота з ними
Графічні зображення застосовуються для вдосконалення візуального вигляду екранної форми, створення спеціальних ефектів за допомогою анімації, створення графічних командних кнопок, додання дії «перетягнути та залишити» тощо.
Елементи керування Image та PictureBox. Ці елементи застосовуються для завантаження існуючих файлів із зображеннями. Visual Basic підтримує такі формати графічних файлів, як BMP, DIB, ICO, CUR, WMF, EMF, GIF, JPEG, JPG.
При використанні елемента Image у формі створюється фрейм. Щоб уставити в нього зображення, треба активізувати властивість Picture і вибрати зображення. Властивість Stretch повинна мати значення True для автоматичної зміни розміру зображення при вміщенні у фрейм. При цьому зображення можуть бути викривлені. У програмі для завантаження зображення використовують оператор
Imagel.Picture = LoadPicture (<ім'я файла>)
Наприклад:
Imagel.Picture = LoadPicture ("C:\Vb6sbs\Priklad.BMP")
Елемент PictureBox створює об'єкт, в який, крім зображення, можна також додавати інші графічні об'єкти (наприклад, Line або Shape). Переміщення об'єкта відбувається разом із вміщеними в нього іншими об'єктами. Початковий розмір зображення об'єкта PictureBox, на відміну від елемента Image, змінювати не можна, але після встановлення значення True у властивість AutoSize розмір зображення буде збігатися із розміром самого елемента.