SITE SCIENTIFIQUE D'AZROU


Informatique - Computer science

C/C++

Graphisme en c/c++


Dans les chapitres précédents, on a utilisé l'écran pour l'écriture des messages. Maintenat on va essayer de dessiner sur l'écran, et pour cela on va assimiler l'écran à une surface a 2 dimensions (x, y) tel que :

(x, y) : [0,640]x[0,480]

Sur cette surface on peut utiliser seulement 16 couleurs, c'est le mode VGA standard (12h).

Avant de commencer le code il faut déclarer le header "graphics.h" en écrivant un bloc de code dans la fonction main() pour initialiser le mode graphique.


Initialisation du graphisme :

int gdriver = DETECT, gmode, errorcode;

initgraph(&gdriver, &gmode, "c:\\tc\\bgi");

errorcode = graphresult();

if (errorcode != grOk)

{

printf("Graphics error: %s\n you can download BGJ from http://azrousoft.8m.com \n", grapherrormsg(errorcode));

printf("Press any key to continue:");

getch();

exit(1);

}

et il faut fermer le mode graphique a la fin par la fonction :

closegraph();

NB : c:\\tc\\bgi, indique le chemin du répertoire bgi, vous pouvez le changer si BGI se trouve dans un autre chemin.


1) dessiner un point

prototype :

putpixel ( int x , int y , int c ) ;

X : l'abscisse. Y : l'ordonnée. C : la couleur.

Download code

2) lecture de la couleur d'un point

prototype :

unsigned far getpixel( int x , int y ) ;
Download code

3) dessiner un cercle

prototype :

circle(int x, int y, int r) ;

X : l'abscisse. Y : l'ordonnée. R : la rayon.

Download code

4) dessiner un ellipse

prototype :

ellipse(int x, int y, int ti, int tf, int a, int b) ;

 

X : l'abscisse. Y : l'ordonnée. ti : 1ére angle. tf : 2éme angle. a : 1ére rayon. b : 2éme rayon.

Download code

5) dessiner un arc

prototype :

arc(int x, int y, int ti, int tf, int a) ;

 

X : l'abscisse. Y : l'ordonnée. ti : 1ére angle. tf : 2éme angle. a : rayon.

Download code

6) dessiner une ligne

prototype :

void far line(int x1, int y1, int x2, int y2, int c) ;

 

Download code

7) dessiner un rectangle

prototype :

void far bar(int x1, int y1, int x2, int y2, int c) ;

 

Download code

8) effacer l'écran graphique

prototype :

void far cleardevice(void) ;

 

Download code

9) Choix de la couleur

prototype :

void far setcolor(int c) ;

 

Download code

10) Retrouver la valeur maximal de l'axe des x

prototype :

int far getmaxx(void) ;

 

Download code

11) Retrouver la valeur maximal de l'axe des y

prototype :

int far getmaxy(void) ;

 

Download code

http://azrousoft.8m.com