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

  • pptx
  • 04.05.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 9. Графические возможности.pptx

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

В среде 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.