GRAFICA  ÎN  BORLAND PASCAL SI C

 

SetColor (culoare)

Stabileste culoarea de desenare

 

SetBkColor (culoare)

Stabileste culoarea fondului

 

GetBkColor

Returneaza culoarea  curenta a fondului

PutPixel (x,y,culoare)

Aprinde un pixel de coor-donate (x,y) cu culoarea culoare.

SetLineStyle(tip,mod,gr)

Defineste tipul (tip),mode-lul (mod) si grosimea (gr) a liniei

Line (x1,y1,x2,y2)  Deseneaza o linie intre punctele de coordonate (x1,y1) si (x2,y2).

LineTo (x,y)

Deseneaza o linie intre punctul curent si punctul de coordonate (x,y).

LineRel (dx,dy)

 Deseneaza o linie intre pct. curent (x,y) si pct. de coordonate (x+dx,y+dy).

MoveTo (x,y)

Muta cursorul in punctul de coordonate (x,y).

MoveRel (dx,dy)

Muta cursorul din punctul curent (x,y) in punctul de coordonate (x+dx,y+dy).

Rectangle (x1,y1,x2,y2)

Deseneaza un dreptunghi cu varful stanga-sus (x1,y1) si varful dreapta-jos (x2,y2).

Drawpoly (n,varf)

Deseneaza o linie franta intre punctele de coordonate din tabloul varf

Drawpoly (n+1,varf)

Deseneaza un poligon cu n varfuri intre pct. de coor-donate din tabloul varf (primul varf = cu ultimul)

Circle (x,y,raza)

Deseneaza un cerc cu centrul in (x,y) si de raza raza.

Arc (x,y,ui,uf,raza)

Deseneaza un arc de cerc in sens trigonometric, cuprins intre unghiurile ui si uf ,de centru (x,y) si raza raza.

Ellipse(x,y,ui,uf,rx,ry)

Deseneaza un arc de elipsa de centru (x,y) si semiaxe rx si ry, cuprins intre unghiurile ui si uf .

SetFillStyle(model,culoare)

Selecteaza modelul de hasurare model si culoarea culoare

Bar (x1,y1,x2,y2)  Deseneaza si hasureaza un dreptunghi

Bar 3D(x1,y1,x2,y2,a,c) Deseneaza si hasureaza un paralelipiped cu adancimea a si cu capac (c=true) sau fara (c=false)

FillPoly (n,varf) Deseneaza si hasureaza un poligon. Varf este vetorul care retine coordonatele varfurilor

 FillEllipse (x,y,rx,ry)  Deseneaza si hasureaza o elipsa

Sector(x,y,ui,uf,rx,ry)

Deseneaza si hasureaza un sector de elipsa

PieSlice(x,y,ui,uf,raza)

Deseneaza si hasureaza un sector de cerc

FloodFill(x,y,cul-margine)

Deseneaza cu modelul si cu-loarea curenta o zona de ecran definita printr-un pct. interior (x,y) si cul.frontierei

ClearDevice

Sterge ecranul grafic cu culoarea fondului data de SetBkColor

ClearViewPort

Sterge ecranul cu culoarea de fond

GetMaxColor

Returneaza nr. maxim de culori ce se pot folosi.

GetMaxX / GetMaxY

Returneaza nr. maxim de linii / coloane folosit de driverul curent.

GetX / GetY

Returneaza valoarea coordonatei x /y a pozitiei curente a cursorului

GetPixel(x,y)

Returneaza valoarea punctului de coordonate (x,y)

InitGraph  (gd,gm,cale)

Initializeaza modul grafic

CloseGraph

Inchide modul grafic.

GraphErrorMsg   Returneaza mesajul de eroare corespunzator lui ErrorCode

GraphResult returneaza codul de eroare al ultimei operatii grafice executate

SetRGBPalette(c,r,g,b)

Atribuie culorii care are codul c, codul obtinut din culorile red, green si blue de intensitati r, g si b

SetPalette (nr,c)

Modifica in paleta culoarea  nr cu o culoare de indice c.

SetAllPalette(paleta)

Modifica culorile paletei

GetDefaultPalette(paleta)

Returneaza culorile paletei.

 

GetPalette(paleta)

Copiaza continutul paletei curente in var. paleta.

SetWriteMode(mod)

Stabileste modul de desenare a liniei

 

SetFillPatern

Alege modelul definit  de utilizator

SetTextStyle(tip,dir,dim)

Stabileste tipul si dimensi-unea setului de caractere curent

SetTextJustify(oriz,vert)

Stabileste alinierea textului pe orizontala si pe verticala pentru procedurile OutText si OutTextXY

OutText(sir)

Afiseaza un text cu atributele stabilite anterior, la pozitia cursorului grafic

OutTextXY(x,y,sir)

Afiseaza un text cu atributele stabilite anterior, de la poz. (x,y). Procedura nu modifica pozitia punctului curent.

GetAspectRatio(numr, numt) Returneaza raportul intre dim. pe orizontala si cea pe verticala

SetAspectRatio(numr,numt)

Modifica raportul aspect

 

SetViewPort(x1,y1,x2,y2,t)

Defineste o fereastra grafica Var. booleana t este true pentru taiere, false altfel.

GetImage(x1,y1,x2,y2,mem)

Salveaza o zona dreptunghiu-lara da ecran (mem  sa fie de 4 ori mai mare decat zona)

ImageSize(x1,y1,x2,y2)

Returneaza nr. de octeti ai zonei grafice dreptunghiulare care va fi salvata.

PutImage(x,y,mem, XorPut)

Suprapune regiunea (zona imagine salvata) pe ecran.

SetActivePage(pagina)

Deschide o noua pagina pentru ecranul grafic.

SetVisualPage(pagina)

Vizualizeaza pagina grafica data.

GetArcCoords(coord-arc)

Returneaza coordonatele de inceput si de sfarsit ale ultimului arc desenat.

GetPaletteSize

Furnizeaza dimensiunea paletei de culori curente (nr. de culori).

GetTextSettings(text)

  Furnizeaza tipul,directia,   

 marimea si pozitia setului de  caractere pozitionate cu SetTextStyle, SetTextJustify

DetectGraph(driver,mod)

Verifica hardware-ul si defineste driver-ul si modul grafic care se poate folosi.

GetDriverName

Returneaza numele driver-ului grafic curent.

GetFillPattern(tip)

Returneaza modelul de hasurare pozitionat anterior cu SetFillPattern.

GetFillSettings(mod)

Returneaza atributele pozitionate cu SetFillStyle.

GetGraphMode

Returneaza modul grafic curent.

 

GetLineSettings(linie)

Returneaza tipul, modelul si grosimea liniei determinate de SetLineStyle.

GetMaxMode

Returneaza numarul maxim de culori ce se pot folosi.

GetModeName(mod)

Returneaza intr-un sir numele modului grafic.

GetModeRange(driver,mod)

Returneaza modul grafic cel mai mic si cel mai mare

GetViewSettings(fereast)

Furnizeaza datele ferestrei actuale pozitionate cu SetViewPort.

GraphDefaults

Pozitioneaza modul grafic in varianta implicita.

SetGraphMode

Instaleaza modul grafic si sterge ecranul grafic.

TextHeight(text)

Returneaza inaltimea textului masurata in elemente de imagine.

TextWidth(text)

Returneaza latimea textului masurata in elemente de imagine.

SetUserCharSize(MultX,

         DivX,MultY,DivY)

Modifica latimea si inaltimea caracterelor : latimea se va inmulti cu MultX:DivX, inaltimea cu MultY:DivY

 


Initializarea modului grafic in C

 

int cul,gd,gm;

gd=DETECT;

 initgraph(&gd,&gm,"c:\\borlandc\\bgi");

…………….

 

Inchiderea modului grafic:

closegraph();

 

Initializarea modului grafic in Pascal

Var gd, gm:integer;

procedure graphstart;  {procedura definite de utilizator}

begin

gd:=detect;

initgraph(gd,gm,'c:\bp\bgi');  {initializarea efectiva a modului grafic}

if graphresult<>0 then begin

writeln(grapherrormsg(graphresult));

halt; 

end;

end;

 

Inchiderea modului grafic:

closegraph;

 

Drivere grafice

Moduri grafice

Constanta

Cod

Constanta

Cod

Rezolutie

Nr. cul

Detect

0

 

 

 

 

EGA

3

EGALo

EGAHi

0

1

640x200

640x350

16

16

IBM8514

6

IBM8514Lo

IBM8514Hi

0

1

640x480

1024x768

256

256

VGA

9

VGALo

VGAMed

VGAHi

0

1

2

640x200

640x350

640x480

16

16

16

 

 

 

Tip linie

 

Grosime linie

Stil

Cod

 

Stil

Cod


Continua  

0

 

Normala

1

Punctata   ………….

1

 

Groasa

3


Linie-punct 

2

 


Linie intrerupta

3

 

Def. de utilizator

4

 

 

Culoare

Constanta  predefinita

Cod

Negru

Black

0

Albastru

Blue

1

Verde

Green

2

Turcoaz

Cyan

3

Rosu

Red

4

Violet

Magenta

5

Maro

Brown

6

Gri deschis

LightGray

7

Gri inchis

DarkGray

8

Albastru deschis

LightBlue

9

Verde deschis

LightGreen

10

Turcoaz deschis

LightCyan

11

Rosu deschis

LightRed

12

Violet deschis

LightMagenta

13

Galben

Yellow

14

Alb

White

15

 

 

Stabilirea hasurii       SetFillStyle(model,culoare)

Modelul si culoarea hasurii

Cod

Culoarea fondului

0

Culoarea culoare

1

Linii orizontale

2

/////  subtiri

3

/////  groase

4

\\\\\  groase

5

\\\\\  subtiri

6

Linii orizontale si verticale

7

Linii oblice intretesute rar

8

Linii oblice intretesute des

9

Puncte rare

10

Puncte dese

11

Definita de utilizator

12

 

 


Atributele textului

 

Alinierea textului

 

Pozitia textului

Caracteristici

Valoare

 

Parametru

Valoare

Efect

 

Orizontala

0

Caractere implicite

0

 

 

orizontal

0

Se scrie la dreapta pct. curent

 

Verticala

1

Caractere marite de 3 ori

1

 

1

Mijlocul textului la pct. curent

 

 

 

Caractere mici

2

 

2

Se scrie la stanga pct. curent

 

 

 

Caractere STAS

3

 

 

vertical

0

Partea de sus a textului la p.c.

 

 

 

Caractere gotice

4

 

1

Mijlocul textului la pct. curent

 

 

 

 

 

 

2

Partea de jos a textului la p.c.

 

 

 

 

Exemple :

 

Aplicatii :

  1. Desenati diverse figuri geometrice. Incercati sa realizati un omulet din linii, cercuri, dreptunghiuri etc.
  2. Deplasati omuletul pe ecran, de la stanga la dreapta. Scrieti si numele autorului, in coltul din dreapta-jos.