Partager via


Nouvelles fonctionnalités

Les sections suivantes décrivent plusieurs des nouvelles fonctionnalités de Windows GDI+.

Pinceaux dégradés

GDI+ s’étend sur L’interface de périphérique graphique Windows (GDI) en fournissant des pinceaux de dégradé linéaire et de dégradé de chemin pour remplir les formes, les chemins et les régions. Les pinceaux dégradés peuvent également être utilisés pour dessiner des lignes, des courbes et des chemins. Lorsque vous remplissez une forme avec un pinceau dégradé linéaire, la couleur change progressivement à mesure que vous vous déplacez sur la forme. Par exemple, supposons que vous créez un pinceau dégradé horizontal en spécifiant le bleu sur le bord gauche d’une forme et le vert sur le bord droit. Lorsque vous remplissez cette forme avec le pinceau dégradé horizontal, elle passe progressivement du bleu au vert à mesure que vous passez de son bord gauche à son bord droit. De même, une forme remplie d’un pinceau dégradé vertical change de couleur à mesure que vous vous déplacez de haut en bas. L’illustration suivante montre une ellipse remplie d’un pinceau de dégradé horizontal et une région remplie d’un pinceau dégradé diagonal.

illustration d’une forme remplie par un dégradé horizontal et une autre classée par un dégradé diagonal

Lorsque vous remplissez une forme avec un pinceau dégradé de chemin, vous disposez d’une variété d’options pour spécifier la façon dont les couleurs changent à mesure que vous passez d’une partie de la forme à une autre. Une option consiste à avoir une couleur centrale et une couleur de limite afin que les pixels changent progressivement d’une couleur à l’autre lorsque vous vous déplacez du milieu de la forme vers les bords externes. L’illustration suivante montre un chemin (créé à partir d’une paire de splines de Bézier) rempli d’un pinceau dégradé de chemin.

illustration d’une forme semblable à un signe infini, remplie de bleu où les moitiés se rencontrent à l’eau aux bords

Splines cardinales

GDI+ prend en charge les splines cardinales, qui ne sont pas prises en charge dans GDI. Une spline cardinale est une séquence de courbes individuelles jointes pour former une courbe plus grande. La spline est spécifiée par un tableau de points et passe par chaque point de ce tableau. Une spline cardinale passe en douceur (sans angles nets) à travers chaque point du tableau et est donc plus affinée qu’un chemin créé par la connexion de lignes droites. L’illustration suivante montre deux chemins, l’un créé en connectant des lignes droites et l’autre en tant que spline cardinale.

illustration montrant deux fois les mêmes cinq points : une fois connectés par une spline cardinale, l’autre par des segments de ligne

Objets chemin d’accès indépendants

Dans GDI, un chemin appartient à un contexte d’appareil, et le chemin est détruit au fur et à mesure qu’il est dessiné. Avec GDI+, le dessin est effectué par un objet Graphics , et vous pouvez créer et gérer plusieurs objets GraphicsPath distincts de l’objet Graphics . Un objet GraphicsPath n’étant pas détruit par l’action de dessin, vous pouvez utiliser le même objet GraphicsPath pour dessiner un chemin plusieurs fois.

Transformations et objet Matrix

GDI+ fournit l’objet Matrix , un outil puissant qui rend les transformations (rotations, traductions, etc.) faciles et flexibles. Un objet matrice fonctionne conjointement avec les objets qui sont transformés. Par exemple, un objet GraphicsPath a une méthode GraphicsPath::Transform qui reçoit l’adresse d’un objet Matrix en tant qu’argument. Une matrice 3×3 unique peut stocker une transformation ou une séquence de transformations. L’illustration suivante montre un chemin avant et après une séquence de deux transformations (première mise à l’échelle, puis rotation).

illustration montrant le contour d’une forme, puis le même contour, mais plus étroit et pivoté

Régions évolutives

GDI+ s’étend considérablement sur GDI avec sa prise en charge des régions. Dans GDI, les régions sont stockées en coordonnées d’appareil, et la seule transformation qui peut être appliquée à une région est une traduction. GDI+ stocke les régions en coordonnées mondiales et permet à une région de subir toute transformation (mise à l’échelle, par exemple) qui peut être stockée dans une matrice de transformation. L’illustration suivante montre une région avant et après une séquence de trois transformations : mettre à l’échelle, faire pivoter et traduire.

illustration montrant une forme centrée sur des axes de coordonnées, puis la même forme, mais plus grande, pivotée et traduite à droite

Alpha Blending

Notez que dans la figure précédente, vous pouvez voir la région non transformée (remplie de rouge) à travers la région transformée (remplie d’un pinceau de hachure). Cela est rendu possible par le mélange alpha, qui est pris en charge par GDI+. Avec le mélange alpha, vous pouvez spécifier la transparence d’une couleur de remplissage. Une couleur transparente est fusionnée avec la couleur d’arrière-plan : plus vous créez une couleur de remplissage transparente, plus l’arrière-plan s’affiche. L’illustration suivante montre quatre ellipses remplies de la même couleur (rouge) à différents niveaux de transparence.

illustration montrant quatre ellipses de transparence variable qui chevauchent un rectangle semi-transparent

Prise en charge de plusieurs formats d’image

GDI+ fournit les classes Image, Bitmap et Metafile , qui vous permettent de charger, d’enregistrer et de manipuler des images dans différents formats. Les formats suivants sont pris en charge :

  • BMP
  • format GIF (Graphics Interchange Format)
  • JPEG
  • Exif
  • PNG
  • TIFF
  • ICON
  • WMF
  • EMF