Пример.
Program t1;
uses graphabc; {подключение модуля GraphAbc}
Begin
setwindowsize(640,480); {устанавливает размеры графического окна}
End.
Команда setpixel(x,y,c) - рисует точку с координатами (х,у) цветом с. Стандартные цвета с задаются символическими константами:
clBlack | черный | clYellow | желтый |
clWhite | белый | clNavy | темно-синий |
clRed | красный | clMaroon | темно-красный |
clGreen | зеленый | clPurple | фиолетовый |
clBrown | коричневый | clCream | кремовый |
clBlue | синий | clAqua | бирюзовый |
clSkyBlue | голубой | clOlive | оливковый |
clFuchsia | сиреневый | clTeal | сине-зеленый |
clGray | темно-серый | clMedGray | серый |
clLime | ярко-зеленый | clSilver | серебряный |
Процедура Line(x1,y1,x2,y2) вычерчивает прямую линию из точки (х1,y1) в точку (x2,y2) цветом установленным процедурой SetPenColor(c).
Для задания стиля линии существует команда SetPenStyle (Style), где Style - стиль линии: psSolid - сплошная, psDash – штриховая, psDot – пунктирная, psClear – прозрачная.
Установить ширину текущего пера можно процедурой SetPenWidth(Width: integer).
Процедура Rectangle(x1,y1,x2,y2) рисует прямоугольник, где (х1,y1) координаты верхней левой точки, а (х2,y2) - правой нижней.
Процедура FillRect(x1,y1,x2,y2: integer) - заливает прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2), цветом текущей кисти.
Процедура Сircle(x,y,r) рисует окружность с центром в точке (х,y) и радиусом r.
Закрасить замкнутую фигуру можно с помощью процедуры FloodFill(х,у,c), (х,у) - координата точки внутренней области фигуры, c – цвет заливки.
Процедура СlearWindow(color) устанавливает цвет графического окна. Закрасить прямоугольник и круг можно, используя команду закраски кистью SetBrushColor (color).
SetBrushStyle(Style) - устанавливает стиль текущей кисти. Константы стилей кисти: bsSolid – сплошная, bsClear – прозрачная, bsHatch – штриховая, bsGradient – градиентная.
Процедуры для ввода текста:
TextOut(x,y: integer; s: string) - выводит строку s в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст из строки s);
SetFontSize(size: integer) - устанавливает размер текущего шрифта в пикселях;
SetFontColor(c: Color) - устанавливает цвет текущего шрифта;
SetFontStyle(fs: integer) - устанавливает стиль текущего шрифта.
Пример. Программа рисования отрезка, прямоугольника, треугольника и окружности.
Program L;
uses GraphAbc;
Begin
SetWindowsize(640,480);{устанавливает размеры графического окна в пикселах}
ClearWindow(clYellow); {устанавливает желтый цвет фона}
SetPenColor(clBlue);{устанавливает синий цвет пера}
SetPenWidth(10); {устанавливает ширину пера}
Line(250,250,300,100); {рисует линию}
Line (100,270,200,350); {рисует треугольник}
Line (200,350,300,270);
Line (300,270,100,270);
FloodFill(175,300,clgreen); {Закрашивает треугольник}
Setpencolor(clGreen); {устанавливает зеленый цвет пера}
SetPenWidth(5); {устанавливает ширину пера}
Rectangle(30,30,230,130);{рисует прямоугольник}
FloodFill(50,100,clSilver);
Setpencolor (clNavy); {устанавливает красный цвет пера}
Circle(460,260,70); {рисует окружность};
FloodFill(460,260,clSkyBlue);
SetFontStyle(fsbold); {устанавливает стиль шрифта}
SetFontSize(18); {устанавливает размер шрифта}
SetFontColor(clFuchsia); {устанавливает оливковый цвет шрифта}
TextOut(300,30,'Геометрические фигуры'); {делает надпись}
End.
С помощью геометрических фигур можно создавать любые картинки. Используя известные команды рисования геометрических фигур, нарисуйте картинки и подпишите их:
· закрашенную зеленым цветом елку;
· лодку с парусом;
· снеговика;
· дом;
· придумайте свой рисунок.
Приложение к главе 3
Таблица 1. Меню Правка
Команда | Назначение |
Отменить CTRL+Z | Отмена последней операции редакти-рования текста программы |
Восстановить Shift+Ctrl+Z | Восстановление предыдущей операции редактирования текста программы |
Вырезать CTRL+X | Перемещение выделенного фрагмента текста из окна редактора в буфер обмена |
Копировать CTRL+C | Копирование выделенного фрагмента текста из окна редактора в буфер обмена |
Вставить CTRL+V | Вставка выделенного текста из буфера обмена в окно редактора |
Найти CTRL+F | Поиск текста |
Заменить CTRL+R | Поиск текста и замена его новым текстом |
Найти далее CTRL+L | Дальнейший поиск текста |
Таблица 2. Меню Файл
Команда | Назначение |
Новый CTRL+N | Открытие окна для нового файла |
Открыть CTRL+O | Открытие (загрузка) файла |
Сохранить CTRL+S | Сохранение файла с прежним именем |
Сохранить как … | Сохранение файла с новым именем |
Закрыть CTRL+F4 | Закрыть текущее окно файла |
Выход | Выход из системы программирования |
Таблица 3. Ошибки при работе в системе программирования Pascal ABC
Ошибка | Причина ошибки |
Неожиданный символ | Символ введен не с регистра английских букв |
Ожидался символ "точка" | После end нет точки |
ожидалось begin | Нет слова begin |
Ожидалась "точка с запятой" | Нет символа «;» либо неверно расставлены скобки в команде |
Ожидался идентификатор | Не указано имя программы |
Ожидалась команда | Отсутствует end |
Неизвестное имя | Неправильно написано название команды |
Ожидадось «)» | Не закрыта скобка в конце команды |
Ожидался конец файла | Неверно написано слово end либо есть лишние символы после слова end в конце программы |
ожидался идентификатор, но ... обнаружено зарезервированное слово | Например, вместо val1 написано var |
Ошибка ввода. Программа завершена | Неверно указано имя файла с задачей (‘begin’) |
Графические примитивы Модуля GraphABC
procedure SetPixel(x,y,color: integer);
Закрашивает один пиксел с координатами (x,y) цветом color.
procedure MoveTo(x,y: integer);
Передвигает невидимое перо к точке с координатами (x,y); эта функция работает в паре с функцией LineTo(x,y).
procedure LineTo(x,y: integer);
Рисует отрезок от текущего положения пера до точки (x,y); координаты пера при этом также становятся равными (x,y).
procedure Line(x1,y1,x2,y2: integer);
Рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2).
procedure Circle(x,y,r: integer);
Рисует окружность с центром в точке (x,y) и радиусом r.
procedure Ellipse(x1,y1,x2,y2: integer);
Рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2).
procedure Rectangle(x1,y1,x2,y2: integer);
Рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2).
procedure TextOut(x,y: integer; s: string);
Выводит строку s в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст из строки s).
procedure FloodFill(x,y,color: integer);
Заливает область одного цвета цветом color, начиная с точки (x,y).
procedure FillRect(x1,y1,x2,y2: integer);
Заливает прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2), цветом текущей кисти.
Процедуры для работы с пером
Рисование линий осуществляется текущим пером.
procedure SetPenColor(c: Color); Устанавливает цвет текущего пера |
procedure SetPenWidth(Width: integer); Устанавливает ширину текущего пера |
procedure SetPenStyle(style: DashStyle); Устанавливает стиль текущего пера. Константы стилей пера приведены ниже. |
procedure SetPenMode(m: integer); Устанавливает режим текущего пера |
Стили пера
Стили пера определены следующими константами:
psSolid = DashStyle.Solid; | Сплошное перо |
psDash = DashStyle.Dash; | Штриховое перо |
psDot = DashStyle.Dot; | Пунктирное перо |
psDashDot = DashStyle.DashDot; | Штрихунктирное перо |
psDashDotDot = DashStyle.DashDotDot; | Альтернативное штрихунктирное перо |
psClear = DashStyle.Clear; | Прозрачное перо |
процедуры для работы с графическим окном
procedure SetWindowWidth(w: integer); Устанавливает ширину клиентской части графического окна в пикселах |
procedure SetWindowHeight(h: integer); Устанавливает высоту клиентской части графического окна в пикселах |
procedure SetWindowLeft(l: integer); Устанавливает отступ графического окна от левого края экрана в пикселах |
procedure SetWindowTop(t: integer); Устанавливает отступ графического окна от верхнего края экрана в пикселах |
procedure SetWindowCaption(s: string); Устанавливает заголовок графического окна |
procedure SetWindowTitle(s: string); Устанавливает заголовок графического окна |
procedure SetWindowSize(w,h: integer); Устанавливает размеры клиентской части графического окна в пикселах |
procedure SetWindowPos(l,t: integer); Устанавливает отступ графического окна от левого верхнего края экрана в пикселах |
procedure ClearWindow; Очищает графическое окно белым цветом |
procedure ClearWindow(c: Color); Очищает графическое окно цветом c |
procedure SaveWindow(fname: string); Сохраняет содержимое графического окна в файл с именем fname |
procedure LoadWindow(fname: string); Загружаает содержимое графического окна из файла с именем fname |
procedure FillWindow(fname: string); Заполняет содержимое графического окна обоями из файла с именем fname |
procedure CloseWindow; Закрывает графическое окно и завершает приложение |
procedure CenterWindow; Центрирует графическое окно по центру экрана |
procedure MinimizeWindow; Сворачивает графическое окно |
procedure NormalizeWindow; Возвращает графическое окно к нормальному размеру |
Процедуры для работы с кистью
Рисование внутренностей замкнутых областей осуществляется текущей кистью.
Procedure SetBrushColor(c: Color); Устанавливает цвет текущей кисти |
procedure SetBrushStyle(bs: BrushStyleType); Устанавливает стиль текущей кисти. Константы стилей кисти приведены ниже. |
procedure SetHatchBrushBackgroundColor(c: Color); Устанавливает цвет заднего плана текущей штриховой кисти |
procedure SetGradientBrushSecondColor(c: Color); Устанавливает второй цвет текущей градиентной кисти |
Стили кисти
bsSolid Сплошная кисть (по умолчанию) |
bsClear Прозрачная кисть |
bsHatch Штриховая кисть |
bsGradient Градиентная кисть |
Процедуры для работы со шрифтом
Вывод текста осуществляется текущим шрифтом.
Procedure SetFontSize(size: integer); Устанавливает размер текущего шрифта в пикселях |
Procedure SetFontColor(c: Color); Устанавливает цвет текущего шрифта |
Procedure SetFontStyle(fs: integer); Устанавливает стиль текущего шрифта |
Дата добавления: 2015-05-21; просмотров: 1316;