Презентация "Графические возможности языка программирования PascalABC.Net"

Подписи к слайдам:

Графические возможности

языка программирования

PascalABC.Net

Составитель:

учитель информатики

МБОУ СОШ №22

Соглаева С.А.

В среде PascalABC библиотека стандартных графических процедур и функций хранится в модуле GraphABC, поэтому первой инструкцией программы должна быть инструкция

Uses GraphABC;

 

Графический экран PasсalABC (по умолчанию) содержит

680 точек по горизонтали и

480 точек по вертикали

680 точек

480 точек

(0,0)

Начало отсчета

левый верхний угол

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

 

Program -имя_программы (пишется слитно или через"_")

Uses -подключение модулей

Var - раздел описания переменных

Begin -тело программы

End - конец программы

 

Program grafika;

Uses GraphABC;

Begin

Rectangle(50,50,200,200);

End.

Структура программы

Управление экраном

SetWindowWidth(w) - устанавливает ширину графического окна;

SetWindowHeight(h) - устанавливает высоту графического окна;

Основные инструменты рисования-

перо и кисть.

Параметрами пера (Pen) задаются свойства линий и контур фигур, а параметрами кисти (Brush) - их закраска.

ClearWindow; - очищает графическое окно белым цветом.

ClearWindow(color); - очищает графическое окно указанным цветом.

Управление экраном

program clear;

uses GraphABC;

begin

ClearWindow;

ClearWindow (clMoneyGreen);

end.

Графические примитивы

1. Точка

 

2. Линия

 

3. Прямоугольник 

4. Окружность

5. Эллипс

 

6.Сектор

7.Дуга

 

Точка

SetPixel(x,y,color) - Закрашивает один пиксель с координатами (x,y) цветом color

Program tochka;

uses GraphABC;

Begin SetPixel(300,200,clred);

End.

Линии

LineTo(x,y) - рисует отрезок от текущего положения пера до точки (x,y); координаты пера при этом также становятся равными (x,y).

Program liniay;

uses GraphABC;

Begin

LineTo(300,100);

LineTo(600,50);

End.

0,0

300,100

600,50

Линии

Line(x1,y1,x2,y2) - рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2).

Program liniay;

uses GraphABC;

begin

line(100,50,500,250);

End.

Х1,Y1

Х2,Y2

Прямоугольник

Program pryamougolnik;

Uses GraphABC;

begin

Rectangle (50,50,200,200);

End.

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

Окружность

Program okrugnost;

uses GraphABC;

begin

Circle(250,200,100);

End.

Circle(x,y,r) - рисует окружность с центром в точке (x,y) и радиусом r

250

200

Эллипс

Program oval;

uses GraphABC;

begin

Ellipse(50,50,200,350);

Ellipse(250,150,550,300);

End.

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

50,50

200,350

250,150

550,300

Сектор

Program sector;

Uses GraphABC;

Begin

Pie(300,200,100,0,90);

End.

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

(х,у)

Используемые цвета

Модуль GraphABC содержит константы и функции для работы с цветами.

Стандартные цвета задаются символическими константами:

clBlack – черный clPurple – фиолетовый clWhite – белый clMaroon – темно-красный clRed – красный clNavy – темно-синий clGreen – зеленый clBrown – коричневый clBlue – синий clSkyBlue – голубой clYellow – желтый clCream – кремовый

clAqua – бирюзовый clOlive – оливковый clFuchsia – сиреневый clTeal – сине-зеленый clGray – темно-серый clLime – ярко-зеленый clMoneyGreen – цвет зеленых денег clLtGray – светло-серый clDkGray – темно-серый clMedGray – серый

clSilver – серебряны

Используемые цвета

RGB (Red, Green, Blue)

 Red- число от 0 до 255, соответствующее интенсивности красной компоненты

Green- число от 0 до 255, соответствующее интенсивности зеленой компоненты

Blue- число от 0 до 255, соответствующее интенсивности синей компоненты

Используемые цвета

Используемые цвета

Используемые цвета

Цвет линии

Program liniay;

uses GraphABC;

Begin

SetPenColor (clred);

line(30,30,400,350);

End.

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

Program liniay;

Uses GraphABC;

Begin

SetPenColor (RGB(255,0,0));

Line(30,30,400,350);

End.

Стили линии

SetPenWidth (ширина)- устанавливает ширину пера, равную n пикселям

Program liniay;

Uses GraphABC;

Begin

SetPenWidth(7);

SetPenColor(rgb(255,0,0));

line(30,30,400,350);

End.

Стили линии

SetPenStyle (стиль)-устанавливает стиль пера задаваемый параметром ps (сплошной, пунктир и т.п.), стиль применим только к ширине пера 1 пиксель .

SetPenStyle(psDot)- пунктир

SetPenStyle(psDash)- штрих

SetPenStyle (psDashDot)- штрих - пунктир

Стили линии

Program crug;

uses GraphABC;

begin

SetPenStyle (psDot);

SetPenColor(rgb(255,0,0));

circle(100,70,50);

SetPenStyle (psDash);

SetPenColor(rgb(0,255,0));

circle(210,70,50);

SetPenStyle (psDashDot);

SetPenColor(rgb(0,0,255));

circle(330,70,50);

End.

Стили и цвета кисти

SetBrushColor (цвет) -устанавливает цвет кисти. Заливка кистью распространяется на замкнутый контур, описание которого следует за процедурой установки цвета кисти.

Program zalivka_kist;

Uses GraphABC;

Begin

SetBrushColor(clGreen);

Rectangle(50,50,300,300);

End.

Стили и цвета кисти

SetBrushStyle(стиль) - устанавливает стиль кисти, задаваемый параметром bs

bsSolid – сплошная;

bsClear – прозрачная;

bsHatch – штриховая (мелкая клетка);

bsGradient – градиентная.

Стили и цвета кисти

Program pryamougolnik;

Uses GraphABC;

Begin

SetBrushStyle(bsHatch);

SetBrushColor(rgb(128,0,255));

Rectangle(10,10,300,300);

End.

Program pryamougolnik;

Uses GraphABC;

Begin

SetBrushStyle(bsSolid);

SetBrushColor(rgb(128,0,255));

Rectangle(10,10,300,300);

End.

Заливка цветом

Program pryamougolnik;

Uses GraphABC;

Begin

Rectangle(50,50,200,200);

FloodFill(100,100,clBlue);

Rectangle(250,50,400,200);

FloodFill(270,100,rgb(255,0,0));

End.

FloodFill(x,y,color) - заливает область одного цвета цветом color, начиная с точки (x,y).

Закрашивать можно только замкнутые фигуры, контур которых нарисован одним цветом.

Треугольник

LineTo(x,y) - рисует отрезок от точки, в которой на данный момент находится конец отрезка (текущая позиция), до точки (x,y); начальная позиция задается с помощью MoveTo, а новая позиция переходит в точку (x,y).

Данная процедура задействуется при построении последовательной цепочки линий (отрезков) – когда конец каждой линии является одновременно началом следующей.

MoveTo(x,y) – устанавливает начальную точку (позицию) рисования в (x,y). Если эту процедуру не задействовать, то начальная точка по умолчанию принимается за (0,0) – левый верхний угол окна.

Процедура MoveTo используется совместно с LineTo

Треугольник

Program treugolnik;

Uses GraphABC;

Begin

setpenwidth(20);

setpencolor(clred);

Moveto(100,300);

lineto(300,100);

lineto(500,300);

lineto(100,300);

floodfill(300,200,clgreen);

End.

Program treugolnik;

Uses GraphABC;

Begin

setpenwidth(20);

setpencolor(rgb(17,130,22));

line(100,300,300,100);

line (300,100, 500,300);

line ( 500,300,100,300 );

floodfill(300,200,rgb(255,0,0));

End.

(100,300)

(100,300)

Вывод текста в графическое окно

TextOut (x,y,’строка’) - выводит строку текста в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст).

Program text;

Uses GraphABC;

Begin

TextOut(100,30,'Квадрат');

Rectangle(50,50,200,200);

loodFill(55,55,rgb(43,97,208));

End.

 

SetFontName (‘name’) – устанавливает наименование шрифта.

SetFontColor (color) - устанавливает цвет шрифта.

SetFontSize (sz) - устанавливает размер шрифта в пунктах.

SetFontStyle (fs) - устанавливает стиль шрифта.

Действия со шрифтом

Название шрифта

По умолчанию установлен шрифт, имеющий наименование MS Sans Serif.

Наиболее распространенные шрифты – это Times, Arial и Courier New.

Пример:

SetFontName(‘Times’);

 

 Задается именованными константами:

fsNormal – обычный;

fsBold – жирный;

fsItalic – наклонный;

fsBoldItalic – жирный наклонный;

fsUnderline – подчеркнутый;

fsBoldUnderline – жирный подчеркнутый;

fsItalicUnderline – наклонный подчеркнутый;

fsBoldItalicUnderline – жирный наклонный подчеркнутый.

Стиль шрифта

 

Стиль шрифта

uses GraphABC;

Begin

SetFontName('Arial');

SetFontSize(20);

SetFontColor(clRed);

TextOut(10,10,'обычный');

SetFontStyle(fsItalic);

SetFontColor(clBlue);

TextOut(10,50,'наклонный');

SetFontStyle(fsBold);

SetFontColor(RGB(167,172,15));

TextOut(10,90,'жирный');

SetFontStyle(fsUnderline);

SetFontColor(RGB(167,172,200));

TextOut(10,130,'подчеркнутый');

SetFontStyle(fsBoldItalicUnderline);

SetFontColor(RGB(167,70,150));

TextOut(10,170,'жирный, наклонный,

подчеркнутый');

End.

 

Стиль шрифта

uses GraphABC;

Begin

SetFontName('Arial');

SetFontSize(20);

SetFontColor(clRed);

TextOut(10,10,'обычный');

SetFontStyle(fsItalic);

SetFontColor(clBlue);

TextOut(10,50,'наклонный');

SetFontStyle(fsBold);

SetFontColor(RGB(167,172,15));

TextOut(10,90,'жирный');

SetFontStyle(fsUnderline);

SetFontColor(RGB(167,172,200));

TextOut(10,130,'подчеркнутый');

SetFontStyle(fsBoldItalicUnderline);

SetFontColor(RGB(167,70,150));

TextOut(10,170,'жирный, наклонный,

подчеркнутый');

End.

 

Циклы в графике

Циклы применяются для повторения какой-либо последовательности операторов несколько раз. В Паскале существуют три вида циклов:

-Цикл с предусловием (цикл "пока" – whi1е);

-Цикл с постусловием (цикл "до тех пор, пока" repeat...unti1);

-Цикл с параметром (со счетчиком) (цикл "для" – for ... to / downto);

 

Цикл с предусловием

Может выполниться ни разу.

Выполняется пока условие ИСТИННО

WHILE – пока

DO – выполнять  

ПОКА (УСЛОВИЕ ИСТИННО) ВЫПОЛНЯТЬ

НАЧАЛО

действие1;

действие2;

КОНЕЦ;

WHILE (УСЛОВИЕ ИСТИННО) DO

BEGIN

действие1;

действие2;

END;

Цикл с предусловием

Program cicl;

uses graphABC;

var x:integer;

begin

setpencolor(rgb(255,122,66));

setpenwidth(3);

x:=20;

WHILE x<=600 DO

begin

line(x,60,x+20,200);

x:=x+40;

end;

END.

Цикл с постусловием

Выполняется всегда хотя бы один раз. Выполняется пока условие ЛОЖНО.

REPEAT – повторять

UNTIL – до тех пор

ПОВТОРЯТЬ

действие1;

действие2;

ДО ТЕХ ПОР (ПОКА УСЛОВИЕ ЛОЖНО);

REPEAT

действие1;

действие2;

UNTIL (ПОКА УСЛОВИЕ ЛОЖНО);

Цикл с постусловием

Program cicl;

Uses graphABC;

Var x:integer;

Begin

setpencolor(rgb(26,71,111));

setpenwidth(3);

x:=20;

REPEAT

line(x,60,x+20,200);

x:=x+40;

UNTIL x>680;

END.

Цикл с параметром

Выполняется заранее определенное количество раз.

FOR – для

to – до

do – выполнить

ДЛЯ i:=1 ДО N ВЫПОЛНЯТЬ

действие;

FOR i:=1 to N do

действие;

FOR i:=1 TO N DO

BEGIN

действие1;

действие2;

END;

ДЛЯ i:=1 ДО N ВЫПОЛНЯТЬ

действие 1;

действие 2;

конец;

если в теле цикла несколько действий

если в теле цикла одно действие

Цикл с параметром

Program cicl;

Uses graphABC;

Var x,i:integer;

Begin

setpencolor(rgb(26,71,111));

setpenwidth(3);

x:=20;

for i:=1 to 10 do

begin

line(x,60,x+20,200);

x:=x+40;

end;

END.