Método Graphics::TransformPoints(CoordinateSpace,CoordinateSpace,Point*,INT) (gdiplusgraphics.h)

El método Graphics::TransformPoints convierte una matriz de puntos de un espacio de coordenadas a otro. La conversión se basa en el mundo actual y las transformaciones de página de este objeto Graphics .

Sintaxis

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

Parámetros

[in] destSpace

Tipo: CoordinateSpace

Elemento de la enumeración CoordinateSpace que especifica el espacio de coordenadas de destino.

[in] srcSpace

Tipo: CoordinateSpace

Elemento de la enumeración CoordinateSpace que especifica el espacio de coordenadas de origen.

[in, out] pts

Tipo: Punto*

Puntero a una matriz que, en la entrada, contiene los puntos que se van a convertir y, en la salida, contiene los puntos convertidos.

[in] count

Tipo: INT

Entero que especifica el número de elementos de la matriz pts .

Valor devuelto

Tipo: Estado

Si el método se ejecuta correctamente, devuelve Ok, que es un elemento de la enumeración Status .

Si se produce un error en el método, devuelve uno de los otros elementos de la enumeración Status .

Comentarios

La transformación del mundo convierte los puntos del espacio de coordenadas del mundo en el espacio de coordenadas de página. La transformación de página convierte los puntos del espacio de coordenadas de página en el espacio de coordenadas del dispositivo. Para obtener más información sobre los espacios de coordenadas, vea Tipos de sistemas de coordenadas.

Ejemplos

En el ejemplo siguiente se crea un objeto Graphics y se establece su transformación mundial en una traducción de 40 unidades derecha y 30 unidades hacia abajo. A continuación, el código crea una matriz de puntos y pasa la dirección de esa matriz al método Graphics::TransformPoints del mismo objeto Graphics . Los puntos de la matriz se transforman mediante la transformación mundial del objeto Graphics . El código llama al método Graphics::D rawLine dos veces: una vez para conectar los dos puntos antes de la transformación y una vez para conectar los dos puntos después de la transformación.

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

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP, Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado gdiplusgraphics.h (include Gdiplus.h)
Library Gdiplus.lib
Archivo DLL Gdiplus.dll

Consulte también

Elementos gráficos

Graphics::GetTransform

Graphics::MultiplyTransform

Graphics::ResetTransform

Graphics::RotateTransform

Graphics::ScaleTransform

Graphics::SetTransform

Graphics::TranslateTransform

Matriz

MatrixOrder

Transformaciones

Tipos de sistemas de coordenadas