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

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

Ви можете поліпшити зображення об'єкта, розфарбувавши його в різні кольори. Однак області, що зафарбовуються, повинні мати замкнутий контур. Допоможе вам у цьому оператор 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

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

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