Информатика и ИКТ
Школьный интернет-учебник М.А. и М.В. Выграненко

Тема 9: Алгоритмы и исполнители (30 часов)

Урок № 8(52): Графика на Basic-256 и PascalABC

Практические, проверочные и домашние работы

Практическая работа 15:
"Графика на Basic-256"
"Графика на PascalABC"

Работа с графикой на 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 см.

Приложения

 

Начало \ Программа 8-9 \ Тема 9 \ Урок 8(52)

При использовании материалов сайта просьба соблюдать приличия
© М.А. и М.В. Выграненко, 2009-2017

Рейтинг@Mail.ru