Bonjour !

J'ai testé l'unité Graph (éditeur Dev-Pascal, compilateur Free-Pascal 2.6.0).

La prise en main est plutôt facile. Une fois le chemin de l'unité correctement enregistré dans les options du compilateur (voir à ce sujet le récent tutoriel d'Alcatîz), ça fonctionne. Le seul autre problème que j'ai rencontré était un "integer" que j'ai dû remplacer par un "smallint" dans la procédure d'initialisation de l'écran graphique.

Pour s'initier aux bases du graphisme, l'unité Graph est encore peut-être ce qu'il y a de mieux. (Si vous utilisez une autre librairie pour vos graphismes, n'hésitez pas à en parler dans cette discussion.) Pour ma part, je pense que je continuerai à m'en servir.

Voici mon programme. On y voit une façon d'initialiser le mode graphique (il y en d'autres), et l'emploi de quelques fonctions. Si vous êtes intéressé, je vous invite à contribuer. Que diriez-vous d'un petit concours de graphisme, sans prétention mais plutôt dans le but de rassembler une petite collection d'exemples ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// Dev-Pascal + Free-Pascal 2.6.0
// Utilisation de l'unité Graph
 
program exemple;
uses
  crt, graph;
var
  // variables pour l'initialisation du mode graphique
  gd, gm: smallint;
begin
  // initialisation d'un écran graphique de 640 sur 480 pixels
  gd := vga;
  gm := vgahi;
  initgraph(gd, gm, '');
  if graphresult = grok then
  begin
    setbkcolor(white);
    cleardevice;
    delay(1000);
    setcolor(blue);
    line(0, 0, 639, 479);
    line(0, 479, 639, 0);
    delay(1000);
    setcolor(green);
    rectangle(0, 0, 639, 479);
    delay(1000);
    setcolor(blue);
    circle(640 div 2, 480 div 2, 100);
    delay(1000);
    setfillstyle(solidfill,yellow);
    floodfill(320 - 1,240,blue);
    setfillstyle(solidfill,lightblue);
    floodfill(320 + 1,240,blue);
    delay(5000);
    closegraph;
  end;
end.