Condividi tramite


Metodo Graphics::TransformPoints(CoordinateSpace,CoordinateSpace,Point*,INT) (gdiplusgraphics.h)

Il metodo Graphics::TransformPoints converte una matrice di punti da uno spazio di coordinate a un altro. La conversione si basa sulle trasformazioni correnti del mondo e della pagina di questo oggetto Graphics .

Sintassi

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

Parametri

[in] destSpace

Tipo: CoordinateSpace

Elemento dell'enumerazione CoordinateSpace che specifica lo spazio delle coordinate di destinazione.

[in] srcSpace

Tipo: CoordinateSpace

Elemento dell'enumerazione CoordinateSpace che specifica lo spazio delle coordinate di origine.

[in, out] pts

Tipo: Punto*

Puntatore a una matrice che, in input, contiene i punti da convertire e, nell'output, contiene i punti convertiti.

[in] count

Tipo: INT

Intero che specifica il numero di elementi nella matrice pts .

Valore restituito

Tipo: Stato

Se il metodo ha esito positivo, restituisce Ok, ovvero un elemento dell'enumerazione Status .

Se il metodo ha esito negativo, restituisce uno degli altri elementi dell'enumerazione Status .

Commenti

La trasformazione mondiale converte i punti dallo spazio delle coordinate mondiali nello spazio delle coordinate della pagina. La trasformazione pagina converte i punti dallo spazio delle coordinate della pagina nello spazio delle coordinate del dispositivo. Per altre informazioni sugli spazi di coordinate, vedere Tipi di sistemi di coordinate.

Esempio

Nell'esempio seguente viene creato un oggetto Graphics e viene impostata la trasformazione mondiale su una conversione di 40 unità a destra e 30 unità in basso. Il codice crea quindi una matrice di punti e passa l'indirizzo di tale matrice al metodo Graphics::TransformPoints dello stesso oggetto Graphics . I punti della matrice vengono trasformati dalla trasformazione mondiale dell'oggetto Graphics . Il codice chiama il metodo Graphics::D rawLine due volte: una volta per connettere i due punti prima della trasformazione e una volta per connettere i due punti dopo la trasformazione.

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]);
}

Requisiti

Requisito Valore
Client minimo supportato Windows XP, Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione gdiplusgraphics.h (include Gdiplus.h)
Libreria Gdiplus.lib
DLL Gdiplus.dll

Vedi anche

Grafica

Grafica::GetTransform

Grafica::MultipliTransform

Grafica::ResetTransform

Grafica::RotateTransform

Grafica::ScaleTransform

Grafica::SetTransform

Grafica::TranslateTransform

Matrice

Matrixorder

Trasformazioni

Tipi di sistemi di coordinate