У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


еліпс і дуга.

Точка. Використовується PutPixel(x,y: integer;pixel:word)

Лінія. Для задання лінії використовують такі процедури line, lineto, linerel

Line(x1,y1,x2,y2:integer), x1,y1- початкові координати а x2,y2 – кінцеві.

Дія. Малює лінію встановленим кольором від точки(x1,y1) до точки (x2,y2).

LineTo(X,Y:integer). Малює лінію активним кольором від положення графічного курсора до точки (X,Y).

LineRel(Dx,Dy:integer). Dx,Dy- відносні координати. Малює лінію активним кольором від положення графічного курсора до т.(Get X+Dx,Get Y+Dy).

Прямокутник. Для побудови прямокутника встановленим кольором вокористовується Rectangle(x1,y1,x2,y2:integer). X1,y1 – координати верхнього лівого кута прямокутника, а x2,y2 – нижнього правого кута.

Коло. Для задання активним кольором використовується Circle(x1,y1:integer; radius:word).

32. Найпростіші графічні примітиви: дуга кола, еліптична дуга, лінія.

Графічна бібліотека Graph містить ряд процедур для виведеня графічних примітивів(фігур) на екран а саме таких як точка, лінія, прямокутник, коло, еліпс і дуга.

Дуга кола. Для побудови активним кольором використовують процедуру

Arc(x,y:integer; stAngle, EndAngle, radius:word); x,y- координати центра кола

stAngll, EndAngll – початкове і кінцеве значення кута в градусах, radius – радіус кола.

Еліптична дуга. Для побудови використовують п-ру Ellipse(x,y:integer; stAngle, EndAngle, stradius, endradius:word),

X,y – координати центра еліпса, stradius, endradius – горизонтальні і вертикальні півосі еліпса.

Лінія. Для задання лінії використовують такі процедури line, lineto, linerel

Line(x1,y1,x2,y2:integer), x1,y1- початкові координати а x2,y2 – кінцеві.

Дія. Малює лінію встановленим кольором від точки(x1,y1) до точки (x2,y2).

LineTo(X,Y:integer). Малює лінію активним кольором від положення графічного курсора до точки (X,Y).

LineRel(Dx,Dy:integer). Dx,Dy- відносні координати. Малює лінію активним кольором від положення графічного курсора до т.(Get X+Dx,Get Y+Dy).

Типии ліній. При побудові графічних обєктів користувач може визначати тип ліній а сааме її стиль, товщину, тощо.

Тип ліній можна задати процедурою SetlineStyle(linestyle:word, pattern:word; tucknes:word), linestyle – константа, що задає стиль лінії.

Pattern – бітова маска, що використовується для побудови лінії при використанні стилю заданого користувачем. Даний параметр при заданні стандартних стилів не використовується. Під бітовою маскою розуміють десяткове або 16-кове задання числа pattern якому ставиться у відповідність 16—бітне двійкове значення.

Turknes – товщина лінії. При чому існують дві константи для її задання а саме normWidth – значення 1.

ThickWidth – значення 3. Примітка. При ініціалізація графічного режиму встановлюються параметри лінії, що відповідають процедурі setlinestyle(solidln,0,normwidth) – будує лінії різного стилю.

Для визначення встановлених на даний момент параметрів лінії використовують setlinesettings(var lineinfo: linesettingsType)

LineInfo – змінна типу описана в графічній бібліотеці, формат якого

Linesettingstype=record

Linestyle:word;

Pattern:word;

tuckNess: word;

end.

Тут всі поля відповідають параметрам процедури setlinestyle.

33. Прості замальовані примітиви: прямокутник, еліпс, сектор круга і еліптичний сектор.

Засобами ТР можна безпосередньо побудувати ряд обмежених замальованих областей, зокрема таких як прямокутник, еліпс, сектор круга, еліптичний сектор.

Перед побудовою даних областей користувач повинен задати параметри замальовування а саме стиль і колір.

Задання параметрів замальовування здійснюється п-рою setfilestyle(pattern:word; color:word);

Pattern – стиль замальовування який задається рядом констант.

При використанні стилю заданого користувачем бітова маска, яка задається процедурою setfilepattern(pattern: fillpatterntype; color: word);

Fillpatterntype = array[1..8] of byte; pattern – бітова маска, змінна типу

Fillpatterntype – визначено в графічній бібліотеці як масив з 8.

Дана бітова маска задає шаблон замальований розміром 8х8 пікселів, кожен рядок якого описується 10-м або 16-м числом якому відповідає двійкове значення.

Даний шаблон в розділі констант, може бути висунутий так

Const

Myfill=fillpatterntype($88,$44,…,$88,$44)

Для побудови замальованого прямокутника без окантовки з встановленими параметрами використовують процедуру bar(x1,y1,x2,y2:integer)

При побудові звичайного n-кутника можна будувати тривимірний замальований прямокутник, тобто прямокутний паралелепіпед процедурою.

Bar3D(x1,y1,x2,y2:integer; Dept:word; Toop: boolean)

Dept - глибина паралелепіпеда в пікселях

Toop – логічна змінна яка відображає при значення істино верхню основу і праву сторону паралелепіпеда а при значенні хибно тільки праву сторону.

Замальовоний еліпс. Для його побудови поточним кольором із окантовкою використовують процедуру fillellipse(x,y:integer; xradius,yradius:word)

X,y- координати центра еліпса

Xradius, yradius – горизонтальні і вертикальні осі еліпса

Сектор круга і еліптичний сектор. Для побудови сектора круга використовують процедуру Pieslise(x,y:integer;STAndle, EndAngle, Radius: word). Для побудови еліптичного сектора Sector(x,y:integer, STAndle, EndAngle, XRadius, YRadius: word). Замальовування довільної обмеженої області. Для задання таких областей використовують процедуру

FloodFill(x,y: integer; border: word)

Border – колір межі даної області.

34. Ламані і многокутники, щамальований многокутник.

Ламані та многокутники.

Будь-яку ламану можна задати, як сукупністю відрізків із спільними вершинами. Однак ТР містить процедуру Drawpoly, яка дозволяє безпосередньо будувати ламану заданим стилем і кольором.

Drawpoly (NumPoints: word; var PolyPoints);

NumPoints – кількість вершин ламаної

PolyPoints – одновимірний масив елементів, кожен з яких є записом пари координат, а саме

PolyPoints: array [1..NumPoints] of PointType, де PoitnType = record з полями

x,y: integer;

end;

Програма (побудова ламаної з 4 вершинами)

Program Polygon;

uses Graph;

const

Poly: array [1..4] of PointType =((x:50,y:100),(x:100,y:150),(x:150,y:250),(x:250,y:200));

var

Gd, Gm: Integer;

begin

Gd := Detect;

InitGraph (Gd, Gm,’’);

DrawPoly (4,Poly);

Readln;

CloseGraph;

End.

В даній програмі для опису ламаної використана типізована константа, тобто змінна певного типу, якій надається деяке значення до початку виконання програми.

Многокутники.

Для побудови многокутника використовують ламану, в якої координати першої і останньої вершини співпадають.

Використовується процедура FillPoly (NumPoints: word; var PolyPoints);

Програма побудови многокутника.

Program Fillpolygon;

Uses Graph;

const

Poly:array [1..5] of PointType =((x:20,y:100),(x:100,y:250),(x:150,y:180),(x:200,y:190), (x:20,y:100)),

Var

Gd, Gm: integer;

begin

Gd := Detect;

InitGraph (Gd,Gm,’’);

SetLineStyle (DashedLn, Green,1);

SetFillStyle (HatchFill, Red);

FillPoly (5, Poly);

Readln;

CloseGraph; end.

35.Використання графічного тексту.

Для задання і виведення тексту на екран символами в графічному режимі використовують OutText (TextString: string)

OutTextXY(x,y: integer; TextString: string);

Дані процедури виводять текст, починаючи з положення графічного курсору

Програма:

Program MyText;

uses Graph;

var Gd, Gm: integer;

begin

Gd := Detect;

InitGraph (Gd, Gm,’’);

MoveTo (50, 50); OutText (‘Початок тексту’);

Readln;

OutText (‘Продовження тексту з позиції курсору ’);

Readln;

OutTextXY (150, 100,’Вивід тексту з точки (150, 100)’);

Readln;

CloseGraph;

end.

Задання стилю графічних символів SetTextStyle (Font, Direction: word; CharSize: word);

Font –Константа, або її значення, що беруть з таблиці. Direction –напрям виведення тексту. CharSize – множник для збільшення символів (1–норм. 2–подв.).

Якщо CahrSize=0 (=UsesCharSize, тобто константа описана в модулі Graph), то


Сторінки: 1 2 3 4 5 6 7 8 9 10 11 12