Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный практикум по QBasic.doc
Скачиваний:
17
Добавлен:
29.04.2019
Размер:
5 Мб
Скачать
☆

Зафарбовування областей

Ви можете поліпшити зображення об'єкта, розфарбувавши його в різні кольори. Однак області, що зафарбовуються, повинні мати замкнутий контур. Допоможе вам у цьому оператор PAINT:

PAINT (X, Y), колір, контур

де X, Y — координати будь-якої точки усередині області;

колір — номер кольору для зафарбовування;

контур — номер кольору для контуру області.

Параметри колір і контур необов'язкові, будь-який з них чи навіть обоє можуть бути пропущені і це не викличе повідомлення про помилку.

Оператор PAINT працює так:

  • процес зафарбовування починається в точці з координатами (X, Y) і розповсюджується в усіх напрямках. При цьому змінюється колір кожної точки усередині контуру.

  • у режимі 1 параметри оператора можуть приймати значення від 0 до 3. Якщо значення не розпізнається чи більше 3, за умовчанням буде вибрано 3. Будь-яке від’ємне значення буде сприйматися як помилкове.

  • якщо значення присвоюється параметру колір, а параметр контур опущений, то контур буде пофарбований кольором фігури.

Приклад використання цього оператора:

REM Програма 8

REM Використання оператора PАINT

SCREEN 1

' очищення екрана CLS

PI=3.14

' визначення всіх параметрів

XC% = 140: YC% = 100: RAD% = 80: COL %= 2

' малювання з використанням усіх параметрів

CIRCLE (XC%, YC%), RAD%, COL%

SLEEP 1

CIRCLE (XC%-.5*RAD%,YC%), RAD%*.5, СOL%, 0, PI

SLEEP 1

CIRCLE (XC%+.5*RAD%,YC%),RAD%*.5,COL%,PI, 2*PI

SLEEP 1

CIRCLE (XC% - .5 * RAD%, YC%), 10, COL%

SLEEP 1

CIRCLE (XC% + .5 * RAD%, YС%), 10, COL%

' розфарбовування деяких областей малюнка

SLEEP 1

PAINT (ХС% - 2, YC% +2), COL% , СОL%

SLEEP 1

PAINT (XC% + .5 * RAD% + 2, YC% + 2), СOL% , COL%

END

Ще один метод малювання

В QBASIC існує графічний оператор, який надає нові можливості, наприклад, рухати і повертати малюнок. Такий оператор використовує спеціальну графічну мову, що дозволяє робити програму більш компактною. Ця мова містить прості для використання і розуміння команди, записані у виді тексту.

Оператор має вид:

DRAW текст

де текст — текстовий вираз (послідовність команд графічної мови).

Оператор DRAW дозволяє:

  • малювати лінії;

  • розфарбовувати області;

  • обертати зображення;

  • змінювати розміри (масштаб).

Він особливо ефективний при використанні разом з іншими графічними операторами.

Команди оператора DRAW

Параметр текст може складатися з одного чи декількох текстових виразів, кожен з яких є командою. У свою чергу, кожна команда визначається однією чи двома буквами, що задають конкретну дію. Таблиця 17.3 містить команди оператора DRAW, необхідні для малювання (k, l, x, y — цілі числа, що вказують величину параметра).

Таблиця 17.3.

Команда

Дія, що виконується

1

2

Un

Перемістити нагору

Dn

Перемістити вниз

Ln

Перемістити вліво

Rn

Перемістити вправо

En

Перемістити нагору і вправо по діагоналі

Продовження табл. 17.3.

1

2

Fn

Перемістити вниз і вправо по діагоналі

Gn

Перемістити вниз і вліво по діагоналі

Hn

Перемістити нагору і вліво по діагоналі

Mx,y

Перемістити в точку з координатами (x, y)

B

Перемістити, але не малювати

N

Перемістити, потім повернути початкове значення LPR

An

Задати кут повороту

TАn

Задати кут направлення

Cn

Задати колір

Sn

Задати масштаб

Pn,m

Зафарбувати область

На рис. 17.2. приведено наглядне зображення команд переміщення оператора DRAW.

Рис. 17.2. Різні напрямки і відповідні їм команди

Наприклад, оператор DRAW "M +25,-40" малює лінію від точки ТОВ і до точки, що знаходиться від ТОВ на 25 точок правіше і на 40 точок вище. Результат роботи програми 9 представлено на рис. 17.3.

REM Програма 9

REM Використання команди М

SCREEN 1

' малювання ключа за допомогою команди М

DRAW "М+25,+25 М+25,-25 М-25,-25 М -25,+25 М -60,+0"

DRAW "M+0,+20 M+10,-10 M+10 M- 0,- 20"

END