Graphics ::TransformPoints(CoordinateSpace,CoordinateSpace,Point*,INT) , méthode (gdiplusgraphics.h)

La méthode Graphics ::TransformPoints convertit un tableau de points d’un espace de coordonnées en un autre. La conversion est basée sur le monde actuel et les transformations de page de cet objet Graphics .

Syntaxe

Status TransformPoints(
  [in]      CoordinateSpace destSpace,
  [in]      CoordinateSpace srcSpace,
  [in, out] Point           *pts,
  [in]      INT             count
);

Paramètres

[in] destSpace

Type : CoordinateSpace

Élément de l’énumération CoordinateSpace qui spécifie l’espace de coordonnées de destination.

[in] srcSpace

Type : CoordinateSpace

Élément de l’énumération CoordinateSpace qui spécifie l’espace de coordonnées source.

[in, out] pts

Type : Point*

Pointeur vers un tableau qui, en entrée, contient les points à convertir et, en sortie, contient les points convertis.

[in] count

Type : INT

Entier qui spécifie le nombre d’éléments dans le tableau pts .

Valeur retournée

Type : État

Si la méthode réussit, elle retourne Ok, qui est un élément de l’énumération Status .

Si la méthode échoue, elle retourne l’un des autres éléments de l’énumération Status .

Remarques

La transformation de monde convertit les points de l’espace de coordonnées du monde en espace de coordonnées de page. La transformation de page convertit les points de l’espace de coordonnées de la page en espace de coordonnées de l’appareil. Pour plus d’informations sur les espaces de coordonnées, consultez Types de systèmes de coordonnées.

Exemples

L’exemple suivant crée un objet Graphics et définit sa transformation de monde sur une traduction de 40 unités vers la droite et de 30 unités vers le bas. Ensuite, le code crée un tableau de points et transmet l’adresse de ce tableau à la méthode Graphics ::TransformPoints du même objet Graphics . Les points du tableau sont transformés par la transformation du monde de l’objet Graphics . Le code appelle la méthode Graphics ::D rawLine deux fois : une fois pour connecter les deux points avant la transformation et une fois pour connecter les deux points après la transformation.

VOID Example_TransformPoints(HDC hdc)
{
   Graphics graphics(hdc);
   Pen pen(Color(255, 0, 0, 255));

   // Create an array of two Point objects.
   Point points[2] = {Point(0, 0), Point(100, 50)};

   // Draw a line that connects the two points.
   // No transformation has been performed yet.
   graphics.DrawLine(&pen, points[0], points[1]);

   // Set the world transformation of the Graphics object.
   graphics.TranslateTransform(40.0f, 30.0f);

   // Transform the points in the array from world to page coordinates.
   graphics.TransformPoints(
      CoordinateSpacePage, 
      CoordinateSpaceWorld, 
      points, 
      2);

   // It is the world transformation that takes points from world
   // space to page space. Because the world transformation is a
   // translation 40 to the right and 30 down, the
   // points in the array are now (40, 30) and (140, 80).

   // Draw a line that connects the transformed points.
   graphics.ResetTransform();
   graphics.DrawLine(&pen, points[0], points[1]);
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP, Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête gdiplusgraphics.h (include Gdiplus.h)
Bibliothèque Gdiplus.lib
DLL Gdiplus.dll

Voir aussi

Graphismes

Graphics ::GetTransform

Graphics ::MultiplyTransform

Graphics ::ResetTransform

Graphics ::RotateTransform

Graphics ::ScaleTransform

Graphics ::SetTransform

Graphics ::TranslateTransform

Matrice

MatrixOrder

Transformations

Types de systèmes de coordonnées