Презентация "Графические возможности языка программирования 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.