Графические операторы QBASIC
Программирование на языке
QBASIC
Лабораторная работа № 1.
Построение фигур и графиков
Цель работы:изучить графические операторы QB, научиться составлять программы для построения фигур и графиков
Содержание работы:
1 Графические операторы QBASIC
2 Программа рисования графических объектов
3 Построение графиков функций
Графические операторы QBASIC
Оператор CLS (clear screen- чистый экран) окрашивает весь экран цветом фона. Его удобно использовать для заливки нужным цветом больших участков экрана.
Оператор SCREENустанавливает режим работы дисплея.
SCREEN r [,c]
r - числовой индекс режима (см. табл.1);
c - признак цветности (0 - для цветного и любое ненулевое
значение - для монохромного режима отображения).
Примечание: Параметры операторов, заключённые в квадратные скобки, могут отсутствовать.
Некоторые режимы оператора представлены в табл. 1.
Таблица 1
Индекс режима, r | Характеристика режима |
Текстовый, 40 столбцов на 25 строк (40х25), 16-64 цветов | |
Графический с разрешением 640х400 пикселей, текст 80х25, 16 цветов | |
Графический с разрешением 320х200 пикселей, текст 80х25, 16 цветов | |
Графический с разрешением 640х200 пикселей, текст 80х25, 16 цветов | |
Графический с разрешением 640х480 пикселей, текст 80х30(60), 256 цветов |
Оператор COLORосуществляет управление цветностью для различных режимов работы дисплея.
COLOR fg [,[bg] [,bord]] для r=0;
COLOR bg [,pal] для r=1;
COLOR fg [,bg] для r =7,8
где: fg - целое число, определяющее цвет переднего плана (цвет символов или линий);
bg - целое число, определяющее цвет фона;
bord - целое число, определяющее цвет рамки , окаймляющей рабочее поле дисплея;
pal - целое число из диапазона [0,255], влияющее на выбор нулевой (pal - четное) или первой (pal - нечетное) цветовой палитры.
Диапазоны допустимых значений цветовых атрибутов fg и bg зависят от установленного режима r. При выводе текстовой информации цвета символов fg в диапазоне от 0 до 15 соответствуют обычным номерам цветовой гаммы, начиная с 16 и до 31 цвета символов повторяются с эффектом мерцания (табл. 2).
Таблица 2
Нормальная яркость | Повышенная яркость | ||
Код | Цвет | Код | Цвет |
Чёрный | Серый | ||
Голубой | Ярко-голубой | ||
Зелёный | Ярко-зелёный | ||
Бирюзовый | Ярко-бирюзовый | ||
Красный | Ярко-красный | ||
Розовый | Ярко-фиолетовый | ||
Коричневый | Жёлтый | ||
Белый | Ярко-белый |
Примечание: Коды цветов в разных версиях QBASIC могут отличаться от приведённых.
Оператор PALETTE формирует палитру.
PALETTE [rp,c]
rp - номер регистра палитры;
c - номер цвета.
Задание оператора PALETTE без параметров приводит к восстановле-
нию в регистрах палитры их первоначальных значений, устанавливаемых системой по умолчанию.
Оператор VIEW SCREEN устанавливает на экране прямоугольную область, в которой будет отображаться графическая информация.
VIEW [[SCREEN] (X1,Y1)-(X2,Y2) [,cf[,cb]]]
X1,Y1;X2,Y2 - координаты левого верхнего и правого нижнего углов прямоугольника ,задаются они в пикселях и измеряются либо в абсолютной системе координат (отсутствует служебное слово SCREEN), либо в приращениях относительно координат текущей точки;
cf - цвет заливки области графического окна (если он отсутствует, то окно сохраняет ранее установленный цвет фона);
cb - цвет рамки, которым может быть обведена граница графического окна (если он отсутствует,то рамка не обводится).
Для оператора VIEW без аргументов окном является весь экран.
Оператор WINDOW используется для задания области вывода графической информации в так называемых математических, т.е. относительных координатах.
WINDOW [SCREEN] (Xmin,Ymin)-(Xmax,Ymax)
В сочетании с физическими габаритами графического окна (VIEW SCREEN) пределы изменения математических (программных) координат обеспечивают проектирование геометрических фигур на экран дисплея. Включение служебного слова SCREEN в текст оператора WINDOW означает, что ось Y направлена вниз. В противном случае ось Y направлена вверх. В каждый момент времени одна из текущих точек экрана любого дисплея , работающего в графическом режиме будет выделенной ("отработанная" точка); считают, что в ней находится графический курсор, который на экране не изображается и потому незаметен. В момент входа в графический режим курсор устанавливается в положение с координатами (0,0) - левый верхний угол экрана.
Оператор LOCATEпереводит курсор в позицию экрана, с которой начнет отображаться выводимая информация.
LOCATE nr, nc [,i] ,
где nr - номер строки (от 1 до 25);
nc - номер столбца (от 1 до 80);
i - признак видимости (i=1) или невидимости (i=0).
Оператор PSET выводит на экран точку.
PSET [STEP] (X,Y) [,C]
X,Y - абсолютные координаты точки на экране (служебное слово STEP задает координаты в приращениях относительно текущей точки);
C - номер цвета точки.
Оператор PRESET используется для окрашивания точки на экране в цвет фона, дает эффект гашения - стирания точки с экрана.
PRESET [STEP] (X,Y) [,C]
X,Y - абсолютные координаты точки на экране (служебное слово STEP задает координаты в приращениях относительно текущей точки);
C - номер цвета точки.
При выполнении этого оператора без параметра C соответствующая точка (с координатами X,Y) окрашивается в цвет фона - стирается.
Если в операторе PRESET параметр C присутствует, то действия операторов PRESET и PSET одинаковы.
Пример 1 Нарисовать движущийся отрезок.
SCREEN 12
COLOR 1,1 ' голубой текст и фон
FOR I=0 TO 299 STEP 3
FOR J=I TО 20+I
PSET (J,50), 2 ' рисует точку цветом 2 - зелёный
NEXT J
FOR J=I TO 20+I
PRESET (J,50) ' рисует точку цветом 0 – фона (чёрный)
NEXT J
NEXT I
Оператор PSET рисует линию из 20 точек зелёного цвета с координатами x=J, y=50 (горизонтальную), а оператор PRESET рисует такую же линию, но цветом фона, т.е. стирает линию. В результате получается движение отрезка на интервале I=0…299 с шагом 3 (т.е. 300:3=100 движений отрезка)
Оператор LINE рисует на экране отрезки прямых и прямоугольники.
LINE [STEP](X1,Y1)-[STEP](X2,Y2) [,C] [,B] либо [,BF]
X1,Y1;X2,Y2 - координаты двух точек - концов отрезка, которые измеряются либо в абсолютных единицах, либо в приращениях (STEP);
C - номер цвета;
B - генерирует контур прямоугольника с координатами противоположных вершин X1,Y1 и X2,Y2 цвета C;
BF - генерирует контур прямоугольника (с указанными выше вершинами) и заполняет его цветом C.
Чтобы стереть линию, надо провести ее еще раз, но уже цветом фона.
Оператор CIRCLE рисует на экране окружность или эллипс
CIRCLE [STEP](X,Y), радиус[, цвет][начало] [,конец][,коэффициент]
STEP указывает, что координаты центра окружности X,Y определяются от текущей позиции курсора;
начало, конец – для дуги, может быть от -2π до 2π;
радиус – радиус окружности или эллипса;
цвет – цвет линии;
коэффициент - коэффициент сжатия, равен 4У/3Х, где Х,У – координаты точки.
Пример 2 Нарисовать дугу на ¾ окружности.
Screen 2:
PI=3.1415
CIRCLE (320,100), 200, -PI, PI/2
Программа рисует окружность с
центром х=320, у=100 радиусом 200 (рис. 1)
Рисунок 1 Изображение
дуги
Оператор DRAWрисует графический объект, формат:
DRAW " команды рисования через пробел"
Основные команды:
В – двигаться без рисования;
C[n] – установка цвета n;
U[n] – вверх на n точек;
D[n] - вниз на n точек;
L[n] - влево на n точек;
R[n] - вправо на n точек;
E[n] – диагонально вверх-вправо на n точек;
F[n] – диагонально вниз-вправо на n точек;
G[n] – диагонально вниз-влево на n точек;
H[n] – диагонально вверх-влево на n точек;
P n, m – n – цвет внутри фигуры, m – цвет граней.
Пример 3 Рисование бирюзового треугольника с розовыми рёбрами.
Screen 12:
DRAW "C5" ' рисование розовым цветом
DRAW "F60 L120 E60" ' рисование треугольника
DRAW "BD 30" ' переместиться внутрь треугольника
DRAW "P3,5" ' закрасить ∆ цветом 3-бирюзовым, грани–цвет 5-розовым
Дата добавления: 2015-11-10; просмотров: 7408;