1.00M
Категория: ПрограммированиеПрограммирование

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

1.

Составитель:
учитель информатики
МБОУ СОШ №22
Соглаева С.А.

2.

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

3.

Графический режим
Графический экран PasсalABC
(по
умолчанию) содержит
680 точек по горизонтали и
480 точек по вертикали
680 точек
Начало отсчета
левый верхний угол
(0,0)
480 точек

4.

Структура программы
Program -имя_программы (пишется
слитно или через"_")
Uses -подключение модулей
Var - раздел описания переменных
Begin -тело программы
End - конец программы
Program grafika;
Uses GraphABC;
Begin
Rectangle(50,50,200,200);
End.

5.

Управление экраном
SetWindowWidth(w) - устанавливает ширину
графического окна;
SetWindowHeight(h) - устанавливает высоту
графического окна;
Основные инструменты рисованияперо и кисть.
Параметрами пера (Pen) задаются свойства
линий и контур фигур, а параметрами кисти
(Brush) - их закраска.

6.

Управление экраном
ClearWindow; - очищает графическое окно
белым цветом.
ClearWindow(color); - очищает графическое
окно указанным цветом.
program clear;
uses GraphABC;
begin
ClearWindow;
ClearWindow (clMoneyGreen);
end.

7.

Графические примитивы
1. Точка
2. Линия
3. Прямоугольник
4. Окружность
5. Эллипс
6.Сектор
7.Дуга

8.

Точка
SetPixel(x,y,color) - Закрашивает один
пиксель с координатами (x,y) цветом color
Program tochka;
uses GraphABC;
Begin
SetPixel(300,200,clred);
End.

9.

Линии
LineTo(x,y) - рисует отрезок от текущего положения пера
до точки (x,y); координаты пера при этом также
становятся равными (x,y).
0,0
600,50
300,100
Program liniay;
uses GraphABC;
Begin
LineTo(300,100);
LineTo(600,50);
End.

10.

Линии
Line(x1,y1,x2,y2) - рисует отрезок с началом в точке
(x1,y1) и концом в точке (x2,y2).
Х1,Y1
Х2,Y2
Program liniay;
uses GraphABC;
begin
line(100,50,500,250);
End.

11.

Прямоугольник
Rectangle(x1,y1,x2,y2) - рисует прямоугольник, заданный
координатами противоположных вершин (x1,y1) и (x2,y2)
Program pryamougolnik;
Uses GraphABC;
begin
Rectangle (50,50,200,200);
End.

12.

Окружность
Circle(x,y,r) - рисует окружность с центром в точке (x,y) и
радиусом r
250
200
Program okrugnost;
uses GraphABC;
begin
Circle(250,200,100);
End.

13.

Эллипс
Ellipse(x1,y1,x2,y2) - рисует эллипс, заданный своим
описанным
прямоугольником
с
координатами
противоположных вершин.
50,50
250,150
200,350
550,300
Program oval;
uses GraphABC;
begin
Ellipse(50,50,200,350);
Ellipse(250,150,550,300);
End.

14.

Сектор
Pie(x,y,r,a1,a2) - рисует сектор окружности, ограниченный
дугой (параметры процедуры имеют тот же смысл, что и в
процедуре Arc).
(х,у)
Program sector;
Uses GraphABC;
Begin
Pie(300,200,100,0,90);
End.

15.

Используемые цвета
Модуль GraphABC содержит константы и функции для
работы с цветами.
Стандартные
цвета
задаются
символическими
константами:
clBlack – черный
clPurple – фиолетовый
clWhite – белый
clMaroon – темно-красный
clRed – красный
clNavy – темно-синий
clGreen – зеленый
clBrown – коричневый
clBlue – синий
clSkyBlue – голубой
clYellow – желтый
clCream – кремовый
clAqua – бирюзовый
clOlive – оливковый
clFuchsia – сиреневый
clTeal – сине-зеленый
clGray – темно-серый
clLime – ярко-зеленый
clMoneyGreen – цвет зеленых денег
clLtGray – светло-серый
clDkGray – темно-серый
clMedGray – серый
clSilver – серебряны

16.

Используемые цвета
RGB (Red, Green, Blue)
Red- число от 0 до 255, соответствующее интенсивности красной компоненты
Green- число от 0 до 255, соответствующее интенсивности зеленой компоненты
Blue- число от 0 до 255, соответствующее интенсивности синей компоненты

17.

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

18.

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

19.

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

20.

Цвет линии
SetPenColor(color) - устанавливает цвет пера, задаваемый
параметром color.
Program liniay;
uses GraphABC;
Begin
SetPenColor (clred);
line(30,30,400,350);
End.
Program liniay;
Uses GraphABC;
Begin
SetPenColor (RGB(255,0,0));
Line(30,30,400,350);
End.

21.

Стили линии
SetPenWidth (ширина)- устанавливает ширину пера,
равную n пикселям
Program liniay;
Uses GraphABC;
Begin
SetPenWidth(7);
SetPenColor(rgb(255,0,0));
line(30,30,400,350);
End.

22.

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

23.

Стили линии
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.

24.

Стили и цвета кисти
SetBrushColor (цвет) -устанавливает цвет кисти. Заливка
кистью распространяется на замкнутый контур,
описание которого следует за процедурой установки цвета
кисти.
Program zalivka_kist;
Uses GraphABC;
Begin
SetBrushColor(clGreen);
Rectangle(50,50,300,300);
End.

25.

Стили и цвета кисти
SetBrushStyle(стиль) - устанавливает стиль кисти,
задаваемый параметром bs
bsSolid – сплошная;
bsClear – прозрачная;
bsHatch – штриховая (мелкая клетка);
bsGradient – градиентная.

26.

Стили и цвета кисти
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.

27.

Заливка цветом
FloodFill(x,y,color) - заливает область одного цвета
цветом color, начиная с точки (x,y).
Закрашивать можно только замкнутые фигуры,
контур которых нарисован одним цветом.
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.

28.

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

29.

Треугольник
(100,300)
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.
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.
(100,300)

30.

Вывод текста в графическое окно
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.

31.

Действия со шрифтом
SetFontName (‘name’) – устанавливает наименование
шрифта.
SetFontColor (color) - устанавливает цвет шрифта.
SetFontSize (sz) устанавливает размер шрифта в
пунктах.
SetFontStyle (fs) - устанавливает стиль шрифта.
Название шрифта
По умолчанию установлен шрифт, имеющий
наименование MS Sans Serif.
Наиболее распространенные шрифты – это Times,
Arial и Courier New.
Пример:
SetFontName(‘Times’);

32.

Стиль шрифта
Задается именованными константами:
fsNormal – обычный;
fsBold – жирный;
fsItalic – наклонный;
fsBoldItalic – жирный наклонный;
fsUnderline – подчеркнутый;
fsBoldUnderline – жирный подчеркнутый;
fsItalicUnderline – наклонный подчеркнутый;
fsBoldItalicUnderline – жирный наклонный подчеркнутый.

33.

Стиль шрифта
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.

34.

Стиль шрифта
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.

35.

Циклы в графике
Циклы применяются для повторения какой-либо
последовательности операторов несколько раз. В
Паскале существуют три вида циклов:
-Цикл с предусловием (цикл "пока" – whi1е);
-Цикл с постусловием (цикл "до тех пор, пока"
repeat...unti1);
-Цикл с параметром (со счетчиком) (цикл "для" – for ...
to / downto);

36.

Цикл с предусловием
Может выполниться ни разу.
Выполняется пока условие ИСТИННО
WHILE – пока
DO – выполнять
ПОКА (УСЛОВИЕ ИСТИННО) ВЫПОЛНЯТЬ
НАЧАЛО
действие1;
действие2;
КОНЕЦ;
WHILE (УСЛОВИЕ ИСТИННО) DO
BEGIN
действие1;
действие2;
END;

37.

Цикл с предусловием
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.

38.

Цикл с постусловием
Выполняется всегда хотя бы один раз. Выполняется пока
условие ЛОЖНО.
REPEAT – повторять
UNTIL – до тех пор
ПОВТОРЯТЬ
действие1;
действие2;
ДО ТЕХ ПОР (ПОКА УСЛОВИЕ ЛОЖНО);
REPEAT
действие1;
действие2;
UNTIL (ПОКА УСЛОВИЕ ЛОЖНО);

39.

Цикл с постусловием
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.

40.

Цикл с параметром
Выполняется заранее определенное количество раз.
FOR – для
to – до
do – выполнить
если в теле цикла одно действие
ДЛЯ i:=1 ДО N ВЫПОЛНЯТЬ
действие;
FOR i:=1 to N do
действие;
если в теле цикла несколько действий
ДЛЯ i:=1 ДО N ВЫПОЛНЯТЬ
действие 1;
действие 2;
конец;
FOR i:=1 TO N DO
BEGIN
действие1;
действие2;
END;

41.

Цикл с параметром
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.
English     Русский Правила