Author: Christian.Queinnec@lip6.fr

## Notions de base

La programmation graphique est intimement liée à l'évolution technologique du matériel, en particulier celle des écrans et des cartes graphiques. Pour que le rendu d'une image soit d'une qualité suffisante, il est nécessaire que le dessin soit rafraîchi (redessiné) à intervalles réguliers et courts, un peu comme au cinéma. Il y a principalement deux techniques pour dessiner à l'écran : soit à partir d'une liste de segments visibles (écran à cavalier) où seule la partie utile du dessin est dessinée, soit en affichant tous les points de l'écran (écran bitmap). C'est cette dernière technologie qui est utilisée sur les micro-ordinateurs du marché.
Les écrans bitmap peuvent être vus comme un rectangle de points accessibles, c'est à dire affichables. On appelle ces points des pixels, pour picture element, en anglais. Ce sont les éléments de base pour construire des images. On appelle définition d'un écran la hauteur et la largeur du bitmap principal. La taille de ce bitmap dépend donc de la taille mémoire de chaque pixel. En noir et blanc, un pixel peut être codé par un bit. Pour les écrans à niveau de gris ou en couleur, la taille d'un pixel dépend alors du nombre de teintes différentes pouvant être données à un pixel. Pour un bitmap de 320x640 pixels avec 256 couleurs par pixel, il sera donc nécessaire de coder un pixel sur 8 bits, ce qui demandera une mémoire vidéo de : 480 * 640 octets = 307200 octets ~ 300 ko. Cette résolution est encore utilisée par certains programmes MS-DOS.
Les opérations de base sur un bitmap que l'on retrouve dans la bibliothèque `Graphics` sont :

- la coloration d'un pixel,
- le tracé d'un segment,
- le tracé d'une forme : rectangle, ellipse,
- le remplissage d'une forme fermée : rectangle, ellipse, polygone,
- l'affichage d'un texte : bitmap ou vectoriel,
- la manipulation ou le déplacement d'une partie de l'image.

Toutes ces opérations s'effectuent dans un repère, celui du bitmap. Un certain nombre de caractéristiques des opérations graphiques, comme la largeur du trait, la jointure des lignes, le choix de la police de caractères, le style et le motif de remplissage définissent ce que l'on appelle un contexte graphique. Une opération graphique s'effectue toujours dans un contexte graphique particulier et son résultat en dépend. Le contexte graphique de la bibliothèque `Graphics` ne contient que le point courant, la couleur courante, la police courante et sa taille.