0% au considerat acest document util (0 voturi)
4 vizualizări17 pagini

C Graphics

Documentul oferă informații despre diferite funcții grafice în C. Începe prin a explica cum să inițializezi grafica folosind initgraph(). Apoi descrie funcții pentru a desena forme de bază precum line(), circle(), rectangle(), etc. De asemenea, acoperă funcții pentru culori, modele și umpleri precum setcolor(), setlinestyle(), floodfill(), setfillstyle(). Exemple sunt date pentru fiecare funcție.

Tradus de

ScribdTranslations
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
4 vizualizări17 pagini

C Graphics

Documentul oferă informații despre diferite funcții grafice în C. Începe prin a explica cum să inițializezi grafica folosind initgraph(). Apoi descrie funcții pentru a desena forme de bază precum line(), circle(), rectangle(), etc. De asemenea, acoperă funcții pentru culori, modele și umpleri precum setcolor(), setlinestyle(), floodfill(), setfillstyle(). Exemple sunt date pentru fiecare funcție.

Tradus de

ScribdTranslations
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

Grafica C

Iniț ializare mod grafic


Primul pas în orice program grafic este să iniț ializezi driverele grafice de pe computer.
folosind metoda initgraph() prezentă în fiș ierul de antet graphics.h.
Ini ț iază sistemul grafic prin încărcarea driverului grafic transmis
apoi schimbând sistemul în modul grafic. De asemenea, resetează sau iniț ializează
toate setările grafice, cum ar fi culoarea, paleta, pozi ț ia curentă etc., la
valori implicite

void initgrafic(int *driverGrafic, int *modGrafic, char *caleDirectorDriver);


graphicsDriver
Este un pointer către un întreg care specifică driverul grafic care trebuie folosit.
Îi spune compilatorului ce driver grafic să folosească sau automat.
detectaț i unitatea.
DETECT este un macro din biblioteca graphics.h care instruieș te compilatorul pentru auto
detecț ia driverului grafic.

graphicsMode
Este un pointer la un întreg care specifică modul grafic care trebuie utilizat.
Dacă *graphdriver = DETECT, initgraph setează *graphmode la cea mai mare rezoluț ie.
disponibil pentru driverul detectat.
Îi poț i da o valoare folosind o constantă de tipul enumerării graphics_drivers,
care este definit în graphics.h ș i enumerat mai jos.
driverDirectoryPath
Aceasta specifică calea fiș ierelor driver-ului grafic, adică fiș ierele BGI.
Dacă calea directorului nu este furnizată, atunci va căuta în directorul de lucru curent.
director adică "c://tc//BGI" sau alt director de lucru
poț i schimba calea directorului BGI în funcț ie de compilatorul tău Turbo C++
instalat.
Culori în grafica C
Există 16 culori declare în C Graphics. Folosim culorile pentru a seta culoarea desenului, fundalul
culoare, culoare a textului, sau pentru a colora o formă etc.
Pentru a specifica o culoare, putem folosi fie constante de culoare, cum ar fi metoda setcolor(), adică setcolor(RED),
sau codurile lor întregi corespunzătoare, cum ar fi setcolor(4).
Mai jos sunt enumerate codurile de culoare constante în ordine crescătoare.

Linie
linie() este foloseș te
către deseneazălinie de la 1 coordonate la altul.

sintaxă
void linie(int x1, int y1, int x2, int y2);

Exemplu
#include <graphics.h>
#include <conio.h>
int main()
{
int gd = DETECT, gm;

initgrafică(&gd, &gm, "C:\TC\BGI");

linie(100, 100, 200, 100);

getch();
închide graficul();
return 0;
}

translatedText

Funcț ia setlinestyle() este folosită pentru a desena linii de stiluri diferite. Sintaxa este dată mai jos.

sintaxă
void setlinestyle(int linie_stil, unsigned tipar, int grosime);

unde,
definirea diferitelor tipuri de stil enumerate mai jos

Ar trebui să fie 0 sau orice valoare nenulă luată în considerare pentru


LINIE_SOLIDĂ, LINIE_PUNCTATĂ, LINIE_CENTRALĂ ș i LINIE_LINIE într-adevăr
Trebuie să fie orice valoare diferită de zero pentru USERBIT_LINE,
pentru 0 USERBIT_LINE linia nu se afiș ează

grosime: grosimea defineș te lăț imea liniilor, care poate fi normală sau groasă, aș a cum este indicat mai jos.

funcț ia setlinestyle() :
#include <graphics.h>
#include <conio.h>
int main()
{
int gd = DETECT, gm;
int x=50,y=50,i;
initgrafic(&gd, &gm, "C:\TC\BGI");
curăț ădispozitiv();

pentru(i=0;i<=4;i++)
{

setlinestyle(i,1,3); /* i: pentru modelul de linie 1: pentru afişare USERBIT_LINE 3: pentru THICK_WIDTH */


linie(x,y,x+150,y);

y=y+20;
}
obț ine();
închidegrafic();
return 0;
}
Cerc
circle() este folosit pentru a desena un cerc.

sintaxă
void cerc(int xcentru, int ycentru, int rază);
Exemplu
#include <graphics.h>
#include <conio.h>

int main()
{
int gd = DETECT, gm;

initgraf(&gd, &gm, "C:\TC\BGI");

cerc(100, 100, 50);

getch();
închidegrafic();
return 0;
}

arc
sintaxă
void arc(int x, int y, int unghi-de-start, int unghi-de-final, int rază);

Exemplu de funcț ie arc():


#include <graphics.h>
#include <conio.h>

int main()
{
int gd = DETECT, gm;

initgraph(&gd, &gm, "C:\TC\BGI");

arc(100, 100, 0, 180, 50);

getch();
închide graficul();
return 0;
}

Cod C Graphics pentru bar:

sintaxă
void bar(int stânga, int sus, int dreapta, int jos);

Exemplu de funcț ie bar() :


#include <graphics.h>
#include <conio.h>

int main()
{
int gd = DETECT, gm;

initgrafică(&gd, &gm, "C:\TC\BGI");

bar(100, 100, 100+50, 100+50);

getch();
închide grafica();
return 0;
}

Cod C Graphics pentru elipsă :

sintaxă
void elipsă(int x, int y, int unghiÎncepere, int unghiFinal, int razăX, int razăY);

Exemplu de funcț ia ellipse() :


#include <graphics.h>
#include <conio.h>

int main()
{
int gd = DETECT, gm;

initgraph(&gd, &gm, "C:\TC\BGI");


ș tergeDispozitiv();
elipsă(100, 200, 0, 360, 50, 30);
getch();
închide graficul();
return 0;
}

Cod C Graphics pentru dreptunghi :

sintaxă
void dreptunghi(int stânga, int sus, int dreapta, int jos);

Exemplu de funcț ie rectangle() :


#include <graphics.h>
#include <conio.h>

int main()
{
int gd = DETECT, gm;

initgraph(&gd, &gm, "C:\TC\BGI");


curăț ădispozitiv();
dreptunghi(100, 100, 100+100, 100+50);

getch();
închidegraf();
return 0;
}
Cod C Graphics pentru drawpoly :

Funcț ia Drawpoly este utilizată pentru a desena poligoane, adică triunghiuri, dreptunghiuri, pentagoane, hexagoane etc.

sintaxă
void drawpoly( int num, int* polypoints );
unde,
num este numărul total de puncte +1, de exemplu, un triunghi conț ine 3 puncte, aș adar num=3+1
polypoints este un array[] de exemplu. int polypoints[] = {100,100, 200,100, 150,50, 100,100};

Exemplu de funcț ie drawpoly() :


#include <graphics.h>
#include <conio.h>

int main()
{
int gd = DETECT, gm;
int points[]={100,100, 200,100, 150,50, 100,100};

initgrafică(&gd, &gm, "C:\TC\BGI");


ș tergeDispozitiv();
deseneazăpoligon(4,puncte); /* pentru a desena un triunghi numărul de puncte este 3, aș a că 3+1=4*/

getch();
închidegrafic();
return 0;
}

Cod C Graphics pentru fillpoly :

Funcț ia fillpoly() este folosită pentru a desena poligoane, adică triunghiuri, dreptunghiuri, pentagoane, hexagoane etc.
cu culoare umplută de alb.

sintaxă
void fillpoly( int num, int* polypoints );
unde,
num este numărul total de puncte + 1 de exemplu, un triunghi conț ine 3 puncte, aș a că num = 3 + 1
polypoints este un array[] de exemplu. int polypoints[] = {100,100, 200,100, 150,50, 100,100};

Exemplu de funcț ie fillpoly() :


#include <graphics.h>
#include <conio.h>

int main()
{
int gd = DETECT, gm;
int points[]={100,100, 200,100, 150,50, 100,100};

initgraph(&gd, &gm, "C:\TC\BGI");


curăț ă dispozitivul();
fillpoly(4,points); /* pentru a desena un triunghi, numărul de puncte este 3, aș a că 3+1=4*/
getch();
închidegrafic();
return 0;
}

Cod C Graphics pentru getmaxx() ș i getmaxy() :

getmaxx(): returnează coordonata X maximă pentru modul grafic ș i driver-ul curent.


getmaxy(): returnează cea mai mare coordonată Y pentru modul grafic curent ș i driver.

sintaxă
intgetmaxx();
intgetmaxy();

Exemplu de funcț ie getmaxx() ș i getmaxy():


#include <graphics.h>
#include <conio.h>

int main()
{
int gd = DETECT, gm;
int x,y;

initgraph(&gd, &gm, "C:\TC\BGI");


curăț are_dispozitiv();

x=getmaxx(); /* x=coordonata maximă X */


y=getmaxy(); /* y=coordonata Y maximă */
cerc(x/2,y/2,50); /* x/2 este centrul axei x ș i y/2 este centrul axei y */

getch();
închidegrafic();
return 0;
}

Cod C Graphics pentru setcolor():

funcț ia setcolor() este folosită pentru a seta culoarea de desenare.

sintaxă
void setcolor(int culoare);

Exemplu de funcț ie setcolor():


#include <graphics.h>
#include <conio.h>

int main()
{
int gd = DETECT, gm;
int x=50,y=50,i;

initgrafică(&gd, &gm, "");


ș terge_dispozitivul();
pentru(i=0;i<=4;i++)
{
setează culoarea(i+1);
setlinestyle(i,1,3); /* i: pentru modelul de linie 1: pentru afisarea USERBIT_LINE 3: pentru LARGIME GROSA */
linie(x,y,x+150,y);

y=y+20;
}
getch();
închide graficul();
return 0;
}

Cod C Graphics pentru floodfill() :

Funcț ia floodfill este utilizată pentru a umple o zonă închisă, de exemplu, dreptunghi, cerc, poligon etc. (x, y) este oricare.
punct pe ecran dacă (x,y) se află în interiorul zonei atunci interiorul va fi umplut altfel exteriorul va fi
fi umplute, bordura specifică culoarea limitei zonei. Pentru a schimba modelul de umplere, setaț i stilul de umplere()
funcț ia este utilizată.

sintaxă
void umple(int x, int y, int border);

Exemplu de funcț ie floodfill():


#include <graphics.h>
#include <conio.h>

int main()
{
int gd = DETECT, gm;
initgraph(&gd, &gm, "C:\TC\BGI");
ș tergeDispozitiv();

cerc(100,100,50);
umple(100,100,ALB);/* unde 100,100 este un punct în interiorul cercului ALB este culoarea limitei
al cercului */

getch();
închide graficul();
return 0;
}

Cod C pentru setillstyle():

funcț ia setillstyle() setează modelul de umplere curent ș i culoarea de umplere, sintaxa este dată mai jos.

sintaxă
void setillstyle(int patern, int color);

Mai jos este tabela care arată VALORILE ÎNTREGI corespunzătoare Paternilor :
Exemplu de funcț ie setillstyle() :
#include <graphics.h>
#include <conio.h>

int main()
{
int gd = DETECT, gm;

initgraph(&gd, &gm, "C:\TC\BGI");


clear dispozitiv();

setillstyle(HATCH_FILL ,ROȘ U);


cerc(100,100,50);
umple(100,100,ALB);

getch();
închidegrafic();
return 0;
}

S-ar putea să vă placă și