Работа с графикой на Basic-256
Для вывода графических объектов в Basic-256
существует специальное окно графического вывода. Его размер
300х300 точек (пикселей). Координатная сетка в этом окне задаётся осями
координат, расположенными несколько непривычно (см. рисунок). Координаты
и параметры графических объектов могут задаваться числом, переменной,
получившей к этому моменту числовое значение, или выражением. |
|
Цвет рисования задаётся предварительно командой
color (по умолчанию - чёрный). Для получения
качественного изображения желательно предварительно сделать эскиз на
миллиметровой бумаге, определив координаты характерных точек.
После каждой команды желательно для проверки
запускать программу на исполнение. Поэтому начинать программу лучше с
команды очистки окна графического вывода clg.
Не забывайте периодически сохранять программу,
особенно, если она у вас длинная. Рисование цветом
clear - ластик.
Команда |
Формат |
Описание |
Circle |
circle x,y,r |
Рисует текущим
цветом круг с центром в точке (x, y) радиусом r. |
Clg |
clg |
Очищает окно
графического вывода |
Color |
color название
цвета |
Устанавливает
текущий цвет для команд рисования |
FastGraphics |
fastgraphics |
Не разрешает
обновления графического окна до выполнения команды Refresh
(используется в анимации) |
Line |
line
x1,y1,x2,y2 |
Рисует линию от
точки (x1, y1) до точки (x2, y2) |
Plot |
plot x,y |
Рисует точку с
координатами (x, y) текущего цвета |
Poly |
poly массив, n |
Рисует n-угольник,
координаты вершин которого парами считываются из массива |
Rect |
rect x,y,a,b |
Рисует
прямоугольник шириной а и высотой b от точки (x, y) |
Refresh |
refresh |
Обновляет
содержимое окна графического вывода |
Таблица названий цветов:
white |
black |
red |
darkred |
green |
darkgreen |
blue |
darkblue |
cyan |
darkcyan |
purple |
darkpurple |
yellow |
darkyellow |
orange |
darkorange |
gray |
darkgray |
clear |
Работа с графикой на PascalABC
Подключение графической библиотеки: uses
graphABC;
Размер графического экрана устанавливается с помощью процедуры
SetWindowSize(w,h), где w и h - ширина и
высота окна. Значения координат принимают только целочисленные значения:
x от 0 до w, а y от 0 до h.
Расположение осей координат такое же, как в Basic-256.
Графические примитивы модуля GraphABC
SetPixel(x,y,color: integer); Закрашивает
один пиксел с координатами (x, y) цветом color.
MoveTo(x,y: integer); Передвигает невидимое
перо к точке с координатами (x, y); работает в паре с функцией LineTo(x,
y).
LineTo(x,y: integer); Рисует отрезок от
текущего положения пера до точки (x, y); координаты пера при этом также
становятся равными (x, y).
Line(x1,y1,x2,y2: integer); Рисует отрезок
с началом в точке (x1, y1) и концом в точке (x2, y2).
Circle(x,y,r: integer); Рисует окружность с
центром в точке (x, y) радиусом r.
Ellipse(x1,y1,x2,y2: integer); Рисует
эллипс, заданный описанным прямоугольником с координатами
противоположных вершин (x1,y1) и (x2,y2).
Rectangle(x1,y1,x2,y2: integer); Рисует
прямоугольник, заданный координатами противоположных вершин (x1,y1) и
(x2,y2).
Arc(x,y,r,a1,a2: integer); Рисует дугу
окружности с центром в точке (x,y) и радиусом r, заключенную между двумя
лучами, образующими углы a1 и a2 с осью OX (a1 и a2 - вещественные,
задаются в градусах и отсчитываются против часовой стрелки).
Pie(x,y,r,a1,a2: integer); Рисует сектор
круга, ограниченный дугой (параметры процедуры имеют тот же смысл, что и
в процедуре Arc).
FloodFill(x,y,color: integer); Заливает
однотонную область цветом color, начиная с точки (x, y).
TextOut(x,y: integer; s: string); Выводит
строку s в позицию (x,y) (точка (x,y) задает верхний левый угол
прямоугольника, который будет содержать текст из строки s).
Константы стандартных цветов:
clBlack - черный
clPurple - фиолетовый
clWhite - белый
clMaroon - темно-красный
clRed - красный
clNavy - темно-синий
clGreen - зеленый
clBrown - коричневый
clBlue - синий
clSkyBlue - голубой
clYellow - желтый
clCream - кремовый
clOlive - оливковый
clFuchsia - сиреневый
clTeal - сине-зеленый
clGray - темно-серый
clLime - ярко-зеленый
clLtGray - светло-серый
clSilver - серебряный
Действия с графическим окном
SetWindowSize(w,h: integer); Устанавливает
ширину и высоту графического окна.
SetWindowCaption(s: string); Устанавливает
заголовок графического окна.
ClearWindow; Очищает графическое окно белым
цветом.
ClearWindow(c: ColorType); Очищает
графическое окно цветом c.
Redraw; Осуществляет перерисовку окна.
Действия с пером и кистью
SetPenColor(color: integer); Устанавливает
цвет пера, задаваемый параметром color.
SetPenWidth(w: integer); Устанавливает
толщину пера, равную w пикселам.
SetBrushColor(color: integer);
Устанавливает цвет кисти, задаваемый параметром color.
SetBrushStyle(bs: integer); Устанавливает
стиль кисти, задаваемый параметром bs.
Стили кисти задаются именованными константами:
bsSolid, bsCross, bsClear, bsDiagCross,
bsHorizontal, bsBDiagonal, bsVertical, bsFDiagonal.
Указание учителю. Для выполнения самостоятельной практической
работы на следующем уроке ученикам понадобятся листы миллиметровой
бумаги размером 32х32 см.