Урок по теме: «Введение в графику в языке программирования Turbo Pascal» Автор: Казначей, учитель информатики
МЕНЮ Графический режим Цвета и заполнения Незаполненные фигуры Заполненные фигуры Практическое задание Контрольные вопросы
Графический режим Uses Graph; - подключение графического режимаInitGraph (Gd, Gm, 'way'); - переход из текстового режима к графическому где Gd - имя графического драйвера (параметр-переменная), Gm - номер графического режима монитора (параметр-переменная); 'way' - дорожка DOS к файлам с графическими драйверами.Для подключения драйверов в режиме автоопределения задается Gd:=Detect; или Gd:=0;GetMaxMode; - функция, которая возвращает номер наибольшего режима.GetMaxX; - по оси Х, GetMaxY; - по оси Y.CloseGraph; - полное прекращение работы графической системы. RestoreCrtMode; - переключение в текстовый режим с возможностью возврата к текущим установкам графического режима.
Цвета и заполнения SetBkColor (N); - установить цвет N для пикселей фона. По умолчанию установлен черный цвет фона.Setcolor (N); - установить цвет N для выводимых линий. По умолчанию установлен белый цвет линий.PutPixel (X, Y, N); - высветить цветом N пиксель с координатами X, YFloodFill (X, Y, N) - заполнение замкнутой области с границей цвета N.GetPixel (X, Y); - функция возвращает цвет пикселя с координатами X, Y.Пример: Программа которая выводит на экран «Звездное небо».uses Graph; var i, Gd, Gm: Integer; BEGIN Gd:=VGA; Gm:=VGAHi; InitGraph (Gd,Gm,'..\bgi'); If GraphResult=grOk then begin For i:=0 to 1000 do PutPixel (random(640),random(480),random(15)+1); ReadLn end END.
Незаполненные фигуры Circle (X, Y, R); - построить окружность с центром X, Y и радиусом R. Line (x1, y1, x2, y2); - построить отрезок прямой линии от точки с координатами x1, y1 к точке с координатами x2, y2.Rectangle (x1, y1, x2, y2); - построить прямоугольник с левым верхним углом в точке с координатами x1, y1 и правым нижним углом в точке с координатами x2, y2 (стороны параллельны краям экрана)Пример:Программа которая выводит различные незаполненные фигуры.uses Graph; const CenterX=320; CenterY=240; var i, Gd, Gm: Integer;BEGIN Gd:=VGA; Gm:=VGAHi; InitGraph (Gd,Gm,'..\bgi'); If GraphResult=grOk then For i:=0 to 23 do Circle (CenterX,CenterY,i*10);END.
Заполненные фигуры SetFillStyle(P, N); - процедура установки орнамента Р=0,1, .., 12 и цвета с номером N для заполняемых фигур .Bar (x1, y1, x2, y2); - построить заполненный прямоугольник Bar3d (x1, y1, x2, y2, d, t); - построить параллелепипедFillEllipse (X, Y, Rx, Ry); - построить заполненный эллипсSector(x,y,a1,a2,Rx,Ry); - построить заполненный сектор эллипса.PieSlice(x, y, a1,a2,R); - построить заполненный сектор кругаFillPoly (N, M); - заполнить произвольную плоскую фигуру с границей, описанной массивом точек, N - число точек границы.
Практическое задание Нарисовать паровоз
«ПАРОВОЗ» procedure paravoz;beginsetfillstyle(1,4);bar3d(100,280,280,380,25,true);setfillstyle(1,5);bar3d(280,180,400,380,25,true);setcolor(1);setfillstyle(1,yellow);bar3d(300,200,380,260,0,false);setfillstyle(1,12);bar3d(120,300,260,360,0,false);rectangle(300,285,380,370);end;procedure koleso;beginx:=160;for i:=1 to 3 dobeginsetfillstyle(1,1);fillellipse(x,380,40,40);setfillstyle(1,3);fillellipse(x,380,30,30);x:=x+100;end;end;Program paravozzz;uses crt, graph;var gd,gm,i,x,y:integer;begingd:=detect;initgraph(gd,gm,'');if graphresult<>grok then halt(1);paravoz;koleso; readln; end.
Контрольные вопросы и задания. 1. Как называется модуль, который подключает графический редактор? 2. Номер наибольшего режима для текущего драйвера возвращает функция… .3.Что делает процедура: Line (x1, y1, x2, y2)?4. Какая процедура строит параллелепипед с заполненной передней гранью?5. Используя какой прием можно нарисовать «полумесяц»?6. Нарисовать на экране треугольники при помощи цикла всеми возможными способами.Домашнее задание.1. Написать программу, чтобы на экране выводился фрагмент тетради в клетку, используя циклические операции.
Спасибо за урок!