Subprograme orientate spre poligoane si hasurari

SUBPROGRAME ORIENTATE SPRE POLIGOANE ŞI HAŞURĂRI

7.1 Proceduri şi funcţii

Rectangle

Procedura rectangle desenează un dreptunghi şi este definită astfelŞ

Procedure rectangle (x1, y1, x2, y2:integer);

X1 şi Y1 reprezintă coordonatele colţului stânga sus ale dreptunghiului.

X2 şi Y2 reprezintă coordonatele colţului dreapta jos ale dreptunghiului.

Desenarea se face cu stilul şi culoarea actuală.

Bar

Procedura Bar desenează un dreptunghi şi îl haşurează cumodelul şi culoarea satabilite cu procedura SetFillPattern sau SetFillStzle. Procedura este definită astfel:

Procedure Bar(x1,y1,x2,y1:integer);

X1 şi Y1 reprezintă coordonatele colţului stânga sus ale dreptunghiului.

X2 şi Y2 reprezintă coordonatele colţului dreapta jos ale dreptunghiului.

Bar3d

Procedura Bar3d desenează un paraşeşipiped dreptunghic şi îl haşurează cu modelul şi culoarea actuală. Procedura este definită astfel:

Procedura Bar3d (x1,y1,x2,y2:integer; ad:word; top:boolean);

X1 şi Y1 reprezintă coordonatele colţului stânga sus al corpului .

X2 şi Y2 reprezintă coordonatele colţului dreapta jos al corpului.

DrawPolv

Procedura DrawPolv desenează olinie poligonală şi este definită astfel:

Procedure DrawPolv (nrpct:word; var puncte );

Nrpct reprezintă numărul vârfurilor, iar variabila puncte este untabel ale carui elemente sunt de tip predefinit PoinzType care reprezintă coordonatele (x,y) ale vârfurilor. Tipul PointType este definit astfel:

Type PoinType= record

x,y:integer;

End;

În cazul în care se doreşte obţinerea unui poligon închis de n vârfuri, variabila puncte trebuie să fie un tablou de n+1 elemente astfel încât coordonatele primului punct şi coordonatele ultimului punct să coincidă.

FillPolv

Procedura FillPolv desenează şi haşurează un poligon şi este defintă astfel:

Procedure FillPolv(nrpct:word; var puncte);

Nrpct reprezintă numărul vârfurilor, iar variabila puncte este un tabel ale cărui elemente sunt de tip predefinit Pointtypeb, care reprezintăcooronatele (x,y) ale vârfurilor. Conturulpoligonului este formt din linii ale căror stil este determinat de procedura SetFillPattern sau SetFillStyl.

FloodFill

Procedura FloodFill haşurează cu modelul actual o zonă închisă şi este definită astfel:

Procedure FloodFill(x,y:integer;c:word);

x,y reprezintă coordonatele unui punct interior zonei închise, iar c reprezintă culoarea de haşurare, având valori de la 0 până la valoarea returnată de funcţia GetmaxColor.

SetFillStyle

Procedura SetFillStyle fixează modelul de haşurare utilizat şi culoarea de haşurare. Procedura este definită astfel:

Procedure SetFillStyle(m:word;c:word);

m defineşte modul de haşurare, iar c defineşte culoarea de haşurare.

Pentru definirea modului de haşurare se pot utiliza următoarele constante predefinite:

Const

EmptyFill=0;

SolidFill=1;

Linefill=2;

LtSlashFill=3;

SlashSill=4;

BkSlashFill=5;

LtBkSlashFill=6;

HatchFill=7;

XhatchFill=8;

InterLeaveFill=9;

WideDotFill=10;

CloseDotFill=11;

UserFill=12;

Haşurarea poate fi realizată pentru poligon, dreptunghi, paralelipiped, sector de cerc, elipsa.

GetFillSettings

Procedura GetFillSettings permite utilizatorului să obţină informaţii despre modelul actual de haşurare şi de culoare, informaţii care au fost fixate anterior cu procedura SerFillStyle sau SetFillPattern.

Procedura este definită astfel:

Procedure GetFillSetting (var infohas:FillSettingsTyipe);

Infohas este de tip predefinit FillSettingstype şi va conţine informaţii referitoare la haşurare. Tipul FillSettingsType este defint astfel:

Type FillSettingstype=record

Pattern:word;

Color:word;

End;

SetFillPatten

Procedura SetFillPattern oferă utilizatorului posibilitatea de a defini un model propriu de haşurare. Procedura este definită astfel:

Procedure SetFillPattern (m:FillPatternType; c:word);

M este de tip predefinit FillPatternType şi descrie modelul de haşurare folosind un tabel de optocteţi, adică un tabel bidimensional de 8X8 biţi.

C defineşte culoarea de haşurare.Tipul SetFillPatern este definit astfel:

Type FillPatternType=array[1..8] of byte;

GetFillPattern

Procedura GetFillPattern permite obţinerea informaţiilor despre ultimul model de haşurare stabilit printr-un apel de procedură SetFillpattern. Procedura este definită astfel:

Procedure getfillPatter (var m:FillPatternType);

M este de tip predefinit FillPatterntype şi va conţine modelul utilizatorului.

7.2 Aplicaţie

program poligon;

uses crt,graph;

const

triunghi: array [1..4] of pointtype=((X:50;Y:100), (X:100; Y:100), (X:150;Y:150), (X:50;Y:100));

var

Gd,gm,I,width:integer;

Ch:char;

Fillinfo: FillSettingsType;

Begin

Gd:=detect;

Initgraph(gb,gm,’c:bpbgi’);

If graphresult<>grOk then halt(1);

Repeat

OutTextXY(10.0.’apasati’);

OutTextXY (10.10.’1-Bar 2-Bar3D 3-Triunghi 4-HasurareTriunghi 5-reptunghi 6-HasurareDreptunghi’);

OutText 10.470.’0-iesire’);

Ch:=readkey;

Case ch of

‘1’:begin

for I:=1 to 5 do

bar(I*10,I*10,succ(I)*10,200);

end;

‘2’ begin

bar3d(500,300,650,360,10,TopOn);

bar3d(500,360,600,380,10,TopOff);

end;

‘3’:begin

drawpoly(SizeOff(triunghi)div SizeOff(PointType), triunghi);

end;

‘4’:begin

Fillpoly(Sizeoff(triunghi) div sizeoff(pointtype), triunghi);

End;

‘5’:begin

rectangle(100.100.200.200);

end;

‘6’:begin

GetFillSettings(fillInfo);

Bar(0,0,50,50);

Setfillstyle(xhatchfill, GetMaxColor);

Bar(50, 0, 100, 50);

With FillInfo do

SetFillStyle (Pattern, Color);

Bar(100.0.150.50);

End;

End;

Until ch=’0’;

Readln;

CloseGraph;

End.

Căutări Recente: modele de poligoane , hasurari , functia rectangle , deseneaza un poligon , ce inseamna hasureaza un triunghi , proceduri predefinite sunt subprograme , hasurari in word , dreptunghiul este poligon , desene din polighoane , desene cu poligoane

Articole Asemănătoare:

  1. Subprograme Orientate Spre Salvarea Imaginilor
  2. Subprograme Orientate Spre Puncte
  3. Subprograme Destinate Generatorului de Sunet
  4. Definiri de culori şi palete
  5. Initializarea Modulului Grafic

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>