Les trois parties de GDI+
Les services de Windows GDI+ appartiennent aux trois grandes catégories suivantes :
2D (graphismes vectoriels)
Les graphiques vectoriels impliquent le dessin de primitives (telles que des lignes, des courbes et des figures) qui sont spécifiées par des ensembles de points sur un système de coordonnées. Par exemple, une ligne droite peut être spécifiée par ses deux points de terminaison, et un rectangle peut être spécifié par un point indiquant l’emplacement de son coin supérieur gauche et une paire de nombres donnant sa largeur et sa hauteur. Un chemin d’accès simple peut être spécifié par un tableau de points à relier par des lignes droites. Une spline de Bézier est une courbe sophistiquée spécifiée par quatre points de contrôle.
GDI+ fournit des classes qui stockent des informations sur les primitives elles-mêmes, des classes qui stockent des informations sur la façon dont les primitives doivent être dessinées et des classes qui effectuent réellement le dessin. Par exemple, la classe Rect stocke l’emplacement et la taille d’un rectangle ; la classe Pen stocke des informations sur la couleur de trait, la largeur de trait et le style de trait ; et la classe Graphics a des méthodes pour dessiner des lignes, des rectangles, des chemins et d’autres figures. Il existe également plusieurs classes Brush qui stockent des informations sur la façon dont les figures et les chemins fermés doivent être remplis avec des couleurs ou des motifs.
Images
Certains types d’images sont difficiles ou impossibles à afficher avec les techniques des graphiques vectoriels. Par exemple, les images sur les boutons de la barre d’outils et les images qui apparaissent sous forme d’icônes seraient difficiles à spécifier en tant que collections de lignes et de courbes. Une photographie numérique haute résolution d’un stade de baseball bondé serait encore plus difficile à créer avec des techniques vectorielles. Les images de ce type sont stockées sous forme de bitmaps, des tableaux de nombres qui représentent les couleurs des points individuels à l’écran. Les structures de données qui stockent des informations sur les bitmaps ont tendance à être plus complexes que celles requises pour les graphiques vectoriels. Il existe donc plusieurs classes dans GDI+ dédiées à cet objectif. Un exemple de cette classe est CachedBitmap, qui est utilisé pour stocker une bitmap en mémoire pour un accès et un affichage rapides.
Typographie
La typographie concerne l’affichage du texte dans une variété de polices, de tailles et de styles. GDI+ offre une prise en charge impressionnante pour cette tâche complexe. L’une des nouvelles fonctionnalités de GDI+ est l’anticrénelage de sous-pixels, qui donne au texte affiché sur un écran LCD une apparence plus lisse.