№ | Слайд | Текст |
1 |
 |
Графические возможности языка программирования Pascal ABCТема урока |
2 |
 |
640 X400 Y 0 50 100 150 200 250 300 350 400 50 100 150 200 250 300 |
3 |
 |
Подключение дополнительных библиотекДля работы в графическом режиме необходимо подключение модуля GraphABC. Первой инструкцией программы должна быть инструкция uses GraphABC; Program clear; uses GraphABC; Begin End. 3 |
4 |
 |
Управление экраномSetWindowWidth(w) Устанавливает ширину графического окна; SetWindowHeight(h) Устанавливает высоту графического окна; 4 |
5 |
 |
Очистка графического окнаClearwindow; очищает графическое окно белым цветом. Clearwindow(color); очищает графическое окно указанным цветом. Program clear; uses GraphABC; begin ClearWindow; ClearWindow (clMoneyGreen); End. Цвет зеленых денег 5 |
6 |
 |
ЦветаClblack – черный clpurple – фиолетовый clwhite – белый clmaroon – темно-красный clred – красный clnavy – темно-синий clgreen – зеленый clbrown – коричневый clblue – синий clskyblue – голубой Claqua – бирюзовый clolive – оливковый clfuchsia – сиреневый clteal – сине-зеленый clgray – темно-серый cllime – ярко-зеленый clmoneygreen – цвет зеленых денег clltgray – светло-серый cldkgray – темно-серый clyellow – желтый 6 |
7 |
 |
Используемые цветаЦвет можно задавать и с помощью функции RGB(r,g,b) где r, g и b – целые числа в диапазоне от 0 до 255. RGB(255,255,255) – соответствует белому цвету. RGB(0,0,0) – соответствует черному цвету. 7 |
8 |
 |
Uses GraphABC; BEGIN LINE(50,150,200,50); LINE(200,50,350,150);LINE(350,150,50,150); Floodfill(120,100,clbrown); Setbrushcolor(clblue); Rectangle(100,150,300,300); Setbrushcolor(clred); Circle(200,100,30); Setbrushcolor(clyellow); Rectangle( ); End. |
9 |
 |
Графические примитивыТочка Линия Прямоугольник Окружность Эллипс Сектор Дуга 9 |
10 |
 |
ТочкаSetPixel(x,y,color) Закрашивает один пиксел с координатами (x,y) цветом color program tochka; uses GraphABC; begin SetPixel(300,200,clred); end. 10 |
11 |
 |
ЛинииLine(x1,y1,x2,y2) рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2). Program linia; uses GraphABC; begin line(100,50,500,250); end. 11 |
12 |
 |
Цвет линииSetpencolor(color) устанавливает цвет пера, задаваемый параметром color. Program linia; uses GraphABC; begin setpencolor(clred); line(30,30,400,350); end. 12 |
13 |
 |
Толщина линииSetpenwidth(n) устанавливает ширину (толщину) пера, равную n пикселям. Program liniay; uses GraphABC; begin setpenwidth(20); setpencolor(clred); line(30,30,400,350); end. 13 |
14 |
 |
Пунктирная линияSetpenstyle(<номер от 1 до 6>); - устанавливает стиль пера, задаваемый номером. Program prim; uses graphabc; begin setpencolor(clred); setpenstyle(1); {1 - длинный штрих} line(10,100,350,100); setpenstyle(2); {2 - короткий штрих} line(10,125,350,125); setpenstyle(3); {3 - штрих-пунктир} line(10,150,350,150); end. 14 |
15 |
 |
ПрямоугольникRectangle(x1,y1,x2,y2) - рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2). Program pryamougolnik; uses GraphABC; begin Rectangle(50,50,200,200); end. 15 |
16 |
 |
Заливка цветомFloodfill(x,y,color) заливает область одного цвета цветом color, начиная с точки (x,y). Program pryamougolnik; uses GraphABC; begin Rectangle(50,50,200,200); FloodFill(100,100,clBlue); end. 16 |
17 |
 |
Заливка кистьюSetBrushColor(color) устанавливает цвет кисти. Заливка кистью распространяется на замкнутый контур, описание которого следует за процедурой установки цвета кисти. Program zalivka_kist; uses GraphABC; Begin SetBrushColor(clGreen); Rectangle(50,50,300,300); end. 17 |
18 |
 |
Заливка кистьюSetbrushpicture(‘fname’) устанавливает в качестве образца для закраски кистью образец, хранящийся в файле fname, при этом текущий цвет кисти при закраске игнорируется. uses GraphABC; begin SetBrushPicture('brush4.bmp'); Ellipse(0,0,640,400); end. 18 |
19 |
 |
ОкружностьCircle(x,y,r) рисует окружность с центром в точке (x,y) и радиусом r. Program circle; uses GraphABC; begin Circle(500,200,100); FloodFill(500,200,clred); end. r x1,y1 19 |
20 |
 |
ЭллипсEllipse(x1,y1,x2,y2) рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2). Program oval; uses GraphABC; Begin Ellipse(50,50,200,350); FloodFill(50+100,50+100,clred); Ellipse(250,150,550,300); FloodFill(250+100,150+100,clBlue); end. x1,y1 x1,y1 x2,y2 x2,y2 20 |
21 |
 |
Дуга окружностиArc(x,y,r,a1,a2) Рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки). Program duga; uses GraphABC; Begin SetPenWidth(10); Arc(300,250,150,45,135); end. r x,y 21 |
22 |
 |
СекторPie(x,y,r,a1,a2) рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре arc). Program sector; uses GraphABC; begin Pie(300,200,100,0,90); FloodFill(300+10,200-10,clAqua); end. 22 |
23 |
 |
Вывод текста в графическое окноTextout(x,y,’строка’); выводит строку текста в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст). Program text; uses GraphABC; begin TextOut(100,30,'Квадрат'); Rectangle(50,50,200,200); FloodFill(55,55,clBlue); end. 23 |
24 |
 |
Вывод текста в графическое окноТекст можно вывести с помощью операторов Gotoxy(x,y) и Write(‘текст’), подключив дополнительно модуль Crt. Program text2; uses Crt,GraphABC; begin clrscr; hidecursor; {скрывает текстовый курсор} gotoXY(12,3); write(‘Квадрат'); Rectangle(50,50,200,200); FloodFill(55,55,clYellow); end. 24 |
25 |
 |
Форматирование текстаSetfontname(‘name’)- устанавливает наименование шрифта. Setfontcolor(color) - устанавливает цвет шрифта. Setfontsize(sz) - устанавливает размер шрифта в пунктах. Setfontstyle(fs) - устанавливает стиль шрифта. 25 |
26 |
 |
Заливка кистьюSetbrushstyle(номер от 0 до 7 или название) - устанавливает стиль кисти, задаваемый номером или символической константой. По умолчанию задается стиль 0 – сплошная заливка цветом. Program p12_zalivka; uses GraphABC; Begin SetBrushColor(clAqua); SetBrushStyle(1); Rectangle(10,10,100,100); SetBrushColor(clRed); SetBrushStyle(2); Rectangle(110,10,200,100); SetBrushColor(clBlue); SetBrushStyle(3); Rectangle(210,10,300,100); SetBrushColor(clGreen); SetBrushStyle(4); Rectangle(10,110,100,210); SetBrushColor(clYellow); SetBrushStyle(5); Rectangle(110,110,200,210); SetBrushColor(clBlack); SetBrushStyle(6); Rectangle(210,110,300,210); end. 26 |
27 |
 |
Действия со шрифтомSetfontname(‘name’)- устанавливает наименование шрифта. Setfontcolor(color) - устанавливает цвет шрифта. Setfontsize(sz) - устанавливает размер шрифта в пунктах. Setfontstyle(fs) - устанавливает стиль шрифта. 27 |
28 |
 |
Название шрифтаПо умолчанию установлен шрифт, имеющий наименование MS Sans Serif. Наиболее распространенные шрифты – это Times, Arial и Courier New. Наименование шрифта можно набирать без учета регистра. Пример: SetFontName(‘Times’); 28 |
29 |
 |
Стиль шрифтаЗадается именованными константами: Fsnormal – обычный; fsbold – жирный; fsitalic – наклонный; fsbolditalic – жирный наклонный; fsunderline – подчеркнутый; fsboldunderline – жирный подчеркнутый; fsitalicunderline – наклонный подчеркнутый; fsbolditalicunderline – жирный наклонный подчеркнутый. 29 |
30 |
 |
Например,Program text; uses graphabc; begin setfontname(‘arial’); setfontsize(20); setfontcolor(clred); textout(10,10,‘обычный'); setfontstyle(fsitalic); setfontcolor(clblue); textout(10,50,‘наклонный'); setfontstyle(fsbold); setfontcolor(random(16777215)); textout(10,90,‘жирный'); setfontstyle(fsunderline); setfontcolor(random(16777215)); textout(10,130,‘подчеркнутый'); setfontstyle(fsbolditalicunderline); setfontcolor(random(16777215)); textout(10,170,’жирный, наклонный, подчеркнутый'); end. 30 |
31 |
 |
Загрузка готового рисункаLoadPicture(fname) n:=LoadPicture(fname) – загружает рисунок из файла с именем fname в оперативную память и возвращает описатель рисунка в целую переменную n; если файл не найден, то возникает ошибка времени выполнения. Загружать можно рисунки в формате .bmp, .jpg или .gif. 31 |
32 |
 |
Вывод рисунка в графическое окноDrawPicture(n,x,y); Выводит рисунок с описателем n в позицию (x,y) графического окна. uses GraphABC; var pic: integer; begin pic:=LoadPicture('demo.bmp'); DrawPicture(pic,10,10); DestroyPicture(pic); end. 32 |
33 |
 |
Сохранение созданного рисункаSavePicture(n, ‘fname’) - Сохраняет рисунок с описателем n в файл с именем fname. Рисунки можно сохранять в формате .bmp, .jpg или .gif. 33 |
34 |
 |
Случайный выбор цветаRGB (r,g,b) RGB (Random(255), Random(255), Random(255)) Или CLRANDOM, например, Setbrushcolor(CLRANDOM) Random(255) Random(255) Random(255) 34 |
35 |
 |
Циклы в графикеFor i:=1 to 10 do begin SetBrushColor(clAqua); SetBrushStyle(1); Circle( i*10, 20,10); SetBrushColor(clBlue); SetBrushStyle(3); Rectangle(i*10,50,300,100); End; 35 |
36 |
 |
Штриховка(x1, y1) h (x2, y2) Rectangle (x1, y1, x2, y2); Line( x1+h, y1, x1+h, y2); Line( x1+2*h, y1, x1+2*h, y2); Line( x1+3*h, y1, x1+3*h, y2); ... x x Rectangle (x1, y1, x2, y2); h := (x2 – x1) / (N + 1); x := x1 + h; for i:=1 to N do begin Line( round(x), y1, round(x), y2); x := x + h; end; var x, h: real; Округление до ближайшего целого N линий (N=5) 36 |
37 |
 |
Штриховка (программа)N (x1, y1) h (x2, y2) Program qq; var i, x1, x2, y1, y2, N: integer; h, x: real; begin write(‘введите координаты прямоугольника и число штрихов’); readln(x1, y1, x2,y2 , N); rectangle (x1, y1, x2, y2); h := (x2 - x1) / (N + 1); x := x1 + h; for i:=1 to N do begin line(round(x), y1, round(x), y2); x := x + h; end; end. 37 |
38 |
 |
Штриховкаa (x1, y1) (x3+a, y1) (x2, y2) (x3, y2) h x x-a h := (x3 – x2) / (N + 1); a := x1 – x2; x := x1 + h; for i:=1 to N do begin Line(round(x), y1, round(x-a), y2); x := x + h; end; Line( x1+h, y1, x1+h-a, y2); Line( x1+2*h, y1, x1+2*h-a, y2); Line( x1+3*h, y1, x1+3*h-a, y2); ... 38 |
39 |
 |
Штриховка(x1, y1) hx hy (x2, y2) y x y Line( x1, y1+hy, x1+hx, y1+hy) ; Line( x1, y1+2*hy, x1+2*hx, y1+2*hy); Line( x1, y1+3*hy, x1+3*hx, y1+3*hy); ... hx := (x2 – x1) / (N + 1); hy := (y2 – y1) / (N + 1); x := x1 + hx; y := y1 + hy; for i:=1 to N do begin Line(x1, round(y), round(x), round(y)); x := x + hx; y := y + hy; end; 39 |
«Графические возможности языка программирования Pascal ABC» |
http://900igr.net/prezentacija/informatika/graficheskie-vozmozhnosti-jazyka-programmirovanija-pascal-abc-125033.html