SUBPROGRAME ORIETNTATE SPRE LINII, Proceduri si functii, Aplicatie referat







SUBPROGRAME ORIETNTATE SPRE LINII

5.1. Proceduri si functii

Line

Procedura Line deseneaza puncte de coordonate (x1, y2) si (x2, y2).

Culoarea liniei poate fi stabilita cu procedura SetColor, stilul si grosimea ei pot fi stabilite cu procedura SetLineStyle. Procedura este definita astfel:

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

X1, Y1 sunt coordonatele de inceput ale liniei.

X2, Y2 sunt coordonate de sfarsit ale liiei.

LineTo

          Procedura LineTo deseneaza o linie de la pozitia pointer-ului actual la un punct dat de coordonate (x, y).

          Culoarea liniei se stabiliste cu procedura SetColor, stilul, modul si grusimea se stabilesc cu procedura SetLinesStyle. Procedura este stabilita astfel:

          Procedure LineTo (x, y: integer);

          X si Y sunt coordonate de sfarsit ale liniei.

LineRel

Procedura LineRel deseneaza olinie de la pozitia pointer-ului actual pana la un punctdat definit de destinatie DX si DY.

Culoarealiniei se stabileste cu procedura SetColor, stilul si grosimea se stabilesc cu procedura SetLineStyle. Procedura este definita astfel:

Procedure LineRel (DX, DY: integer);

DX si DY reprezinta distanta in sensul axei x, respectiv y.

MoveTo

          Procedura MoveTo muta pointer-ul actual de coordonate x, y. Procedura este definita astfel:

          Procedure MoveTo (x, y:integer);

MoveRel

          Procedura MoveRel muta pointer-ul actual din pozitia curenta la un punct definit de distantele DX, DY. Procedura este definita astfel.

          Procedure MoveRel (DX, DY:integer);

          DX si DY reprezinta distanta in sensul axei X, respenctiv Y.

SetLineStzle

          Proceura SetLineStyle stabileste stilul si grosimea liniei. Procedura este stabilita astfel:

          Procedure SetLineStyle (Stil, Model, grosime:word);     

Pentru desenarea unei linii se pot folosi urmatoarele constante predefinite pentru stabilirea stilului:  

Const

          Solidln=0;                        -liniecontinua;

          DottedLn=1;                    -linie intrerupta de forma -----;

          CenterLn=2;                    -Linie intrerupta de forma -.-.-.;

          DeshedLn=3;                   -Linie intrerupta de forma - - - -;

          UserbitLn=4;                   -Stil definit de utilizator.

Daca stilul variaza intre SolidLn si  DashedLn, valoarea variabilei model  

trebuie sa fie 0. Daca stilul este pozitionat la UserBitLn, stilul liniei este definit de utilizator, si in acest caz variabila model este un numar hexazecimal pe 16 biti care descrie modul de prezentare a liniei (1= semn luminos,0=fara semn ).

          Grosimea liniei poate fi stabilita cu urmatoarele constante predefinite.  

          Const

              NormWidth=1;                      -grosme normala;

              ThickWidth=3;                      -Linie groasa.

GetLineSettings

          Procedura GetLineSetiings returneaza stilul si grosimea liniei utilizate si este definita astfel:

          Procedure GetLinSettings (var infol:lineSetiingType);

          InfoLin contine informatii referitoare la linie, avand tipul predefinit LineSettingType;

          Type LineSettingsType=record



                    LineStyle:word:

                    Pattern:word:

                    Thickness:word:

End;

SetWritemode

          Procedura SetWritemode stabileste modul de scriere pe ecran a unei linii. Procedura este definita astfel:

          Procedure SetWritemode (modscriere:integer);

          Modscriere este o variabla de tip intreg si poate lua urmatoarele valori predefinite.

          Const

             CopyPut=0;

             XorPut=1;

          Valoarea CopyPut inseamna folosirea instructiunii MOV a asamblorului. Valoarea XOrPUT inseamna folosirea instructiunii XOR intre punctele liniilor si punctele actuale din ecran. Astfel doua instructiuni consecutive vor sterge linia, ramanand imaginea anterioara pe ecran.

5.2. Aplicatie

Programul linii arata cum se pot apela si utiliza procedurile de trasare a liniilor, cum se pot cere date despre un anumit stil de linie, cum se pot defini stilul utilizator.

Program linii;

uses crt, graph;

var gd, gm, I :integer;

stil:linesettingstype;

begin

i:=0;

gd:-=detect;

initgraph(gd, gm,’c:bpbgi’);

if graphresult <> grOk then Halt (1);

randomize;

setlinestyle(dottedln, 0, thickwidth);

getlinesettings(stil);

repeat

line (random(gatmaxx), random(getmaxy);

random(getmaxx), random(gatmaxy);

moveTo(100, 200);

lineRel(100, 100);

lineTo(200, 200); cleardevice;

setLineStyle(userbitln, $45, normwidth );

rectangle(100, 300, 200, 400);

i:=i+1;

until i=100;

repeat

line (random (getmaxx), random(getmaxy);

random ((getmaxx), random(getmaxy));

moveTo(100, 200);

linerel(100,100);

lineTo(200, 200); cleardevice;

setlinestyle(Stil, LineStyle,Stil.Pattern, Stil.Thickness);

rectangle (100, 300, 200, 400);

i:=i+1;

until i:=1;

readkey;

closeGraph;

End.

loading...







Coduri - Postale, caen, cor


Copyright © Contact | Trimite referat


Ultimele referate adaugate
Mihai Beniuc
   - Mihai beniuc - „poezii"
Mihai Eminescu Mihai Eminescu
   - Mihai eminescu - student la berlin
Mircea Eliade Mircea Eliade
   - Mircea Eliade - Mioara Nazdravana (mioriţa)
Vasile Alecsandri Vasile Alecsandri
   - Chirita in provintie de Vasile Alecsandri -expunerea subiectului
Emil Girlenu Emil Girlenu
   - Dragoste de viata de Jack London
Ion Luca Caragiale Ion Luca Caragiale
   - Triumful talentului… (reproducere) de Ion Luca Caragiale
Mircea Eliade Mircea Eliade
   - Fantasticul in proza lui Mircea Eliade - La tiganci
Mihai Eminescu Mihai Eminescu
   - „Personalitate creatoare” si „figura a spiritului creator” eminescian
George Calinescu George Calinescu
   - Enigma Otiliei de George Calinescu - geneza, subiectul si tema romanului
Liviu Rebreanu Liviu Rebreanu
   - Arta literara in romanul Ion, - Liviu Rebreanu



loading...



Cauta referat
Scriitori romani