Пример.

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;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.018 сек.