СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Программирование графики на языке PascalABC

Категория: Информатика

Нажмите, чтобы узнать подробности

В презентации рассказывается о графических командах языка ПаскальАВС, об особенностях графического режима, о приемах разработки программы рисования.

Просмотр содержимого документа
«Программирование графики на языке PascalABC»

ПРОГРАММИРОВАНИЕ ГРАФИКИ В PASCAL ABC

ПРОГРАММИРОВАНИЕ ГРАФИКИ

В

PASCAL ABC

Графический режим  В графическом режиме экран представляет собой совокупность точек, каждая из которых может быть окрашена в один из 16 цветов. Каждая точка экрана имеет свои координаты (х,у) . Начало координат находится в верхнем левом углу экрана. Координаты точек возрастают слева направо и сверху вниз. Левая верхняя точка имеет координаты (0,0), а правая нижняя имеет координаты (640,480).   0 100 200 300 400 500 600 640 x 100 200 300 400 480 y

Графический режим

В графическом режиме экран представляет собой совокупность точек, каждая из которых может быть окрашена в один из 16 цветов. Каждая точка экрана имеет свои координаты (х,у) . Начало координат находится в верхнем левом углу экрана. Координаты точек возрастают слева направо и сверху вниз. Левая верхняя точка имеет координаты (0,0), а правая нижняя имеет координаты (640,480).

0 100 200 300 400 500 600 640

x

100

200

300

400

480

y

  После запуска Pascal ABC , по умолчанию, запускается текстовый режим. Для работы с графикой служит отдельное графическое окно. Чтобы его открыть, необходимо подключить модуль GraphABC .  В этом модуле содержится обширный набор процедур и функций, предназначенных для работы с графическим экраном, а также некоторые встроенные константы и переменные, которые могут быть использованы в программах с графикой. С их помощью можно создавать разнообразные графические изображения и сопровождать их текстовыми надписями.

После запуска Pascal ABC , по умолчанию, запускается текстовый режим. Для работы с графикой служит отдельное графическое окно. Чтобы его открыть, необходимо подключить модуль GraphABC .

В этом модуле содержится обширный набор процедур и функций, предназначенных для работы с графическим экраном, а также некоторые встроенные константы и переменные, которые могут быть использованы в программах с графикой. С их помощью можно создавать разнообразные графические изображения и сопровождать их текстовыми надписями.

End. Uses graphABC - подключение модуля библиотеки графических процедур; " width="640"

Шаблон графической программы

Program ;

Uses graphABC;

Var :;

Begin

блок решения задачи

End.

Uses graphABC - подключение модуля библиотеки графических процедур;

ГРАФИЧЕСКИЕ ПРИМИТИВЫ

ГРАФИЧЕСКИЕ ПРИМИТИВЫ

ТОЧКА setpixel(x,y,color); - закрашивает один пиксель (точку) с координатами ( x,y) цветом color . ПРИМЕР.  setpixel(320,240,clred); - закрашивает точку с координатами      (320,240) красным цветом.  clBlack – черный clPurple – фиолетовый clAqua – бирюзовый clWhite – белый clOlive – оливковый clFuchsia – сиреневый clMaroon – темно-красный clRed – красный clTeal – сине-зеленый clNavy – темно-синий clGray – темно-серый clGreen – зеленый clLime – ярко-зеленый clMoneyGreen – цвет зеленых денег clBrown – коричневый clMedGray – серый clLtGray – светло-серый clSilver – серебряный clDkGray – темно-серый clCream – кремовый clBlue – синий clSkyBlue – голубой clYellow – желтый
  • ТОЧКА

setpixel(x,y,color); - закрашивает один пиксель (точку) с координатами ( x,y) цветом color .

ПРИМЕР.

setpixel(320,240,clred); - закрашивает точку с координатами (320,240) красным цветом.

clBlack – черный

clPurple – фиолетовый

clAqua – бирюзовый

clWhite – белый

clOlive – оливковый

clFuchsia – сиреневый

clMaroon – темно-красный

clRed – красный

clTeal – сине-зеленый

clNavy – темно-синий

clGray – темно-серый

clGreen – зеленый

clLime – ярко-зеленый

clMoneyGreen – цвет зеленых денег

clBrown – коричневый

clMedGray – серый

clLtGray – светло-серый

clSilver – серебряный

clDkGray – темно-серый

clCream – кремовый

clBlue – синий

clSkyBlue – голубой

clYellow – желтый

ЛИНИЯ line(x1,y1,x2,y2); - вычерчивает линию от точки    c координатами (x1,y1)      до точки (x2,y2) .   x1,y1 x2,y2 ПРИМЕР.  line(100,100,200,300); - вычерчивает линию от точки c   координатами (100,100) до точки   (200,300). Замечание. В этом случае не установлен цвет рисования линии, поэтому она вычерчивается черным цветом – это цвет по умолчанию.
  • ЛИНИЯ

line(x1,y1,x2,y2); - вычерчивает линию от точки c координатами (x1,y1)

до точки (x2,y2) .

x1,y1

x2,y2

ПРИМЕР.

line(100,100,200,300); - вычерчивает линию от точки c координатами (100,100) до точки (200,300).

Замечание. В этом случае не установлен цвет рисования линии, поэтому она вычерчивается черным цветом – это цвет по умолчанию.

Действия с пером(стиль и цвет рисования) Формат записи Как работает SetPenColor(color); Устанавливает цвет рисования линий (контура), задаваемый параметром color . SetPenWidth(w); SetPenStyle(ps); Устанавливает ширину рисования линий (контура), равную w пикселям. Устанавливает стиль рисования линий (контура), задаваемый параметром ps . Смотри столбик значение : Значение psSolid Описание Вид линии Сплошная линия psClear   psDash  _______ Отсутствие линии psDot Штриховая линия psDashDot - - - - - - - Пунктирная линия ……… ... Штрихпунктирная линия psDashDotDot -.-.-.-.-.-.- Линия – штрих и два пунктира -..-..-..-..-

Действия с пером(стиль и цвет рисования)

Формат записи

Как работает

SetPenColor(color);

Устанавливает цвет рисования линий (контура), задаваемый параметром color .

SetPenWidth(w);

SetPenStyle(ps);

Устанавливает ширину рисования линий (контура), равную w пикселям.

Устанавливает стиль рисования линий (контура), задаваемый параметром ps . Смотри столбик значение :

Значение

psSolid

Описание

Вид линии

Сплошная линия

psClear 

psDash

_______

Отсутствие линии

psDot

Штриховая линия

psDashDot

- - - - - - -

Пунктирная линия

……… ...

Штрихпунктирная линия

psDashDotDot

-.-.-.-.-.-.-

Линия – штрих и два пунктира

-..-..-..-..-

 Задача 1.  Составить программу вычерчивающую   штриховую линию зеленого цвета,    толщиной 5 пикселей от точки с     координатами (100,100) до точки (400,400).  0 100 200 300 400 500 600 640 x program liniya; uses graphABC; begin setpencolor(clgreen); setpenwidth(5); setpenstyle(psdash); line(100,100,400,400); end.  100 200 300 400  480 y

Задача 1. Составить программу вычерчивающую штриховую линию зеленого цвета, толщиной 5 пикселей от точки с координатами (100,100) до точки (400,400).

0 100 200 300 400 500 600 640

x

program liniya;

uses graphABC;

begin

setpencolor(clgreen);

setpenwidth(5);

setpenstyle(psdash);

line(100,100,400,400);

end.

100

200

300

400

480

y

ПРЯМОУГОЛЬНИК rectangle(x1,y1,x2,y2); -вычерчивает прямоугольник c координатами диагонали (x1,y1) и (x2,y2).  Задача 2. Составить программу вычерчивающую прямоугольник пунктирным контуром синего цвета, толщиной 2 пикселя с координатами диагонали (300,250) и (600,400).  x1,y1 x2,y2  0 100 200 300 400 500 600 640 program pryamo; uses graphABC; begin setpencolor(clblue); setpenwidth(2); setpenstyle(psdot); rectangle(300,250,600,400); end. x 100 200  300 400  480 y
  • ПРЯМОУГОЛЬНИК

rectangle(x1,y1,x2,y2); -вычерчивает

прямоугольник c координатами диагонали (x1,y1) и (x2,y2).

Задача 2. Составить программу вычерчивающую прямоугольник пунктирным контуром синего цвета, толщиной 2 пикселя с координатами диагонали (300,250) и (600,400).

x1,y1

x2,y2

0 100 200 300 400 500 600 640

program pryamo;

uses graphABC;

begin

setpencolor(clblue);

setpenwidth(2);

setpenstyle(psdot);

rectangle(300,250,600,400);

end.

x

100

200

300

400

480

y

Замечание. Можно вычертить прямоугольник с заливкой текущего   цвета и прямоугольник со скругленными краями. Прямоугольник с заливкой текущего цвета fillrect(x1,y1,x2,y2); - заливает прямоугольник, заданный      координатами противоположных вершин (x1,y1) и    (x2,y2), цветом текущей кисти.   Если в Задаче 2.  в программе вместо процедуры рисования прямоугольника rectangle(300,250,600,400) написать fillrect (300,250,600,400) , то результатом ее работы будет:  0 100 200 300 400 500 600 640 x 100 200   300 400  480 y

Замечание. Можно вычертить прямоугольник с заливкой текущего цвета и прямоугольник со скругленными краями.

  • Прямоугольник с заливкой текущего цвета

fillrect(x1,y1,x2,y2); - заливает прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2), цветом текущей кисти.

Если в Задаче 2. в программе вместо процедуры рисования прямоугольника rectangle(300,250,600,400) написать fillrect (300,250,600,400) , то результатом ее работы будет:

0 100 200 300 400 500 600 640

x

100

200

300

400

480

y

 Прямоугольник с заливкой текущего цвета roundrect(х1,у1,х2,у2,w,h); - рисует прямоугольник со     скругленными краями с координатами диагонали (х1,у1) и (х2,у2).   Параметры w и h определяют соответственно ширину и    высоту эллипса, используемого для скругления краев.           h w Замечание.   Цвет, стиль и толщина рисования контура    определяется аналогично процедуре    rectangle (x1,y1,x2,y2).

  • Прямоугольник с заливкой текущего цвета

roundrect(х1,у1,х2,у2,w,h); - рисует прямоугольник со скругленными краями с координатами диагонали (х1,у1) и (х2,у2). Параметры w и h определяют соответственно ширину и высоту эллипса, используемого для скругления краев.

h

w

Замечание. Цвет, стиль и толщина рисования контура определяется аналогично процедуре

rectangle (x1,y1,x2,y2).

ОКРУЖНОСТЬ circle(x,y,R); - рисует окружность    радиуса R с центром в точке  с координатами (x,y).  х,у  R Задача 3. Составить программу вычерчивающую окружность штрихпунктирным контуром сиреневого цвета, толщиной 3 пикселя с координатами центра (320,240) и радиусом 60 пикселей.  0 100 200 300 400 500 600 640 program krug; uses graphABC; begin setpencolor(clfuchsia); setpenwidth(3); setpenstyle(psdashdot); circle(320,240,60); end. x 100  200 300 400 480 y
  • ОКРУЖНОСТЬ

circle(x,y,R); - рисует окружность радиуса R с центром в точке с координатами (x,y).

х,у

R

Задача 3. Составить программу вычерчивающую окружность штрихпунктирным контуром сиреневого цвета, толщиной 3 пикселя с координатами центра (320,240) и радиусом 60 пикселей.

0 100 200 300 400 500 600 640

program krug;

uses graphABC;

begin

setpencolor(clfuchsia);

setpenwidth(3);

setpenstyle(psdashdot);

circle(320,240,60);

end.

x

100

200

300

400

480

y

Эллипс еllipse(x1,у1,х2,y2); -  рисует эллипс, заданный своим описанным     прямоугольником с координатами      противоположных вершин (x1,y1) и (x2,y2). x1,y1   x2,y2 Замечание.   Цвет, стиль и толщина рисования контура    определяется аналогично.
  • Эллипс

еllipse(x1,у1,х2,y2); - рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2).

x1,y1

x2,y2

Замечание. Цвет, стиль и толщина рисования контура определяется аналогично.

 Дуга и сектор окружности 90  аrc(x,y,r,a1,a2); -  рисует дугу  окружности с  центром в точке  (x,y) и радиусом r,  заключенную между  двумя лучами,  образующими углы  a1 и a2.  180 0 360 а2 – кон. угол а1 – нач. угол 270 pie(x,y,r,a1,a2); - рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc). Сектор Дуга

  • Дуга и сектор окружности

90

аrc(x,y,r,a1,a2); - рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенную между двумя лучами, образующими углы a1 и a2.

180

0

360

а2 – кон. угол

а1 – нач. угол

270

pie(x,y,r,a1,a2); - рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc).

Сектор

Дуга