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 |