Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект_лекций_2010_год_информатика.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5 Мб
Скачать
☆

7.6.5.7. Графические возможности qbasic

Существует два режима работы с экраном – текстовый и графический. При запуске QBASIC экран компьютера готов для ввода текста. Для рисования нужно установить один из графических режимов экрана. Для включения графических режимов используется оператор SCREEN. При переключении режимов очистка экрана производится автоматически.

Оператор SCREEN

Графические режимы характеризуются количеством точек по вертикальной и горизонтальной осям экрана. Однако вывод текста в графическом режиме оператором PRINT производится точно так же, как и в текстовом. Выбор графического режима определяется параметром, сопровождающим этот оператор, например:

SCREEN 2

Эта команда устанавливает графический режим экрана, содержащий 640 точек по горизонтальной оси и 200 точек по вертикальной.

Изображение создается точками, и его положение на экране определяется координатной системой. Начало системы координат, т.е. точка с координатами (0,0), расположена в верхнем левом углу экрана. Последняя точка в этом графическом режиме имеет координаты (639, 199) и находится в нижнеем правом углу. Данный режим не позволяет использовать многоцветную графику.

Операторы PSET и PRESET

Оператор PSET предназначен для рисования точки на экране путем изменения ее цвета с фонового (черного) на белый. Оператор может иметь следующие формы:

PSET (X,Y), цвет - абсолютная форма;

PSET STEP (X,Y), цвет – относительная форма,

где X,Y - абсолютные координаты или смещение точки относительно ТПС, цвет - значение цветового параметра. Влияет только на изображение, оставляя фон без изменения.

Кроме этого в QBASIC существует оператор PRESET, предназначенный для изменения цвета соответствующей точки на фоновый. Он также может использовать абсолютные и относительные координаты.

PRESET (X,Y) ) - абсолютная форма;

PRESET STEP (X,Y) – относительная форма,

где X,Y - абсолютные координаты или смещение точки относительно ТПС.

В режиме экрана, задаваемом оператором SCREEN 2, возможны только два цвета: черный и белый. Режим 1 поддерживает 4 цвета, которым соответствуют значения от 0 до 3.

значение параметра цвет

  1. черный (фон)

  2. голубой

  3. пурпурный

  4. белый

Пример. Применение операторов PSET и PRESET

SCREEN 1

REM Применение операторов PSET и PRESET

PSET (310,90),2

PRESET (310,90)

Использование различных систем координат

  1. Абсолютные координаты

Учитывая систему координат экрана, нужно указать место, в котором должна быть отрисована точка, например: LINE (300,120). Достаточно указать координаты только одной точки, и на экране будет проведен отрезок от ЕПС до указанной точки, которая после этого станет ТПС. Сразу после включения графического режима ТПС является точка в центре экрана.

2. Относительные координаты

Эти координаты показывают величину перемещения относительно положения ТПС. Чтобы нарисовать новую точку, используя относительные координаты, надо использовать ключевое слово STEP, например: PSET STEP (-5,8). На экране появляется точка, положение которой будет левее на 5 и ниже на 8 точек относительно ТПС.

Оператор LINE

Оператор LINE предназначен для рисования отрезка, соединяющего две произвольные точки экрана. Отрезок может быть коротким или длинным, вертикальным, горизонтальным или диагональным. Общая форма записи оператора:

LINE [(X начало, Y начало)] – (X конец,Y конец), цвет,

где X начало, Y начало – координаты начала отрезка (необязательные параметры); X конец,Y конец – координаты конца отрезка (обязательные параметры), цвет - значение цветового параметра.

Пример.

REM

SCREEN 2

LINE (50, 50) – (50, 150)

LINE – (150,150)

LINE – (150,50)

LINE – (50,50)

END

В операторе LINE можно использовать относительные координаты для начала и/или конца отрезка, например:

LINE STEP (10,-10) – (100,165)

LINE (115,120) – STEP (-10,15)

LINE STEP (-5,5) – STEP (5,-5)

Оператор CIRCLE

Оператор CIRCLE позволяет рисовать окружность в любом месте экрана. Общий вид оператора:

CIRCLE (X центр,Y центр), радиус, цвет– абсолютная форма;

CIRCLE STEP (X центр,Y центр), радиус, цвет – относительная форма,

где X центр,Y центр - координаты или смещение центра окружности; радиус – радиус окружности, цвет – значение цветового параметра.

Пример. Рисование окружности.

REM Рисование окружности

SCREEN 2

CIRCLE (100, 100), 25

END

Рисование прямоугольников

LINE (X начало,Y начало) – (X диагональ,Y диагональ), цвет, B;

LINE (X начало,Y начало) – (X диагональ,Y диагональ), цвет, BF,

где B – параметр, указывающий на рисование прямоугольника; BF – параметр, указывающий на рисование закрашенного прямоугольника; X начало,Y начало – координаты левого верхнего угла прямоугольника; X диагональ,Y диагональ – координаты правого нижнего угла прямоугольника.

Пример. Рисование прямоугольников.

REM Рисование прямоугольников

SCREEN 1

LINE (10,20) – (135,20) , 3

LINE (150,20) – (200,45), 3, B

LINE (230,20) – (280,45) , 3,BF

В случае пропуска какого-либо параметра или параметров нужно сохранить необходимое количество разделительными запятыми, например, LINE (150,20) – (200,45) , , B

Рисование дуг, эллипсов и секторов

Чтобы нарисовать дугу, эллипс или сектор окружности необходимо добавить новые параметры в оператор CIRCLE. Полная форма оператора выглядит следующим образом:

CIRCLE (X,Y), радиус, цвет, начало, конец, коэффициент,

где X,Y – координаты центра окружности; радиус - радиус окружности; цвет – ее цвет; начало – начальная точка дуги, заданная в радианах; конец – конечная точка дуги, заданная в радианах; коэффициент – отношение значений Y- радиуса и X- радиуса.

Для рисования дуги необходимо добавить значения параметров начальной и конечной точек. Дуга определяется углом, который вырезается из соответствующей окружности. Значения параметров начало и конец задаются в радианах и должны иметь значения между 0 и 2 радиан.

Пример. Рисование окружности.

REM начало цикла для изменения параметров окружности

FOR PARAM%=1 TO 3

FOR RADIUS%=3 TO 60 STEP 3

REM рисование окружности

CIRCLE (50+50*PERAM%, 80), RADIUS%, PARAM%

NEXT RADIUS%

REM пауза

FOR TIMES%=1 TO 2000

NEXT TIMES%

NEXT PARAM%

END