다음을 통해 공유


Graphics::TransformPoints(CoordinateSpace,CoordinateSpace,Point*,INT) 메서드(gdiplusgraphics.h)

Graphics::TransformPoints 메서드는 점 배열을 한 좌표 공간에서 다른 좌표 공간으로 변환합니다. 변환은 이 Graphics 개체의 현재 세계 및 페이지 변환을 기반으로 합니다.

구문

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

매개 변수

[in] destSpace

형식: CoordinateSpace

대상 좌표 공간을 지정하는 CoordinateSpace 열거형의 요소입니다.

[in] srcSpace

형식: CoordinateSpace

원본 좌표 공간을 지정하는 CoordinateSpace 열거형의 요소입니다.

[in, out] pts

형식: *

입력에서 변환할 점을 보유하고 출력에서 변환된 점을 보유하는 배열에 대한 포인터입니다.

[in] count

형식: INT

pts 배열의 요소 수를 지정하는 정 수입니다 .

반환 값

형식: 상태

메서드가 성공하면 Status 열거형의 요소인 Ok를 반환합니다.

메서드가 실패하면 Status 열거형의 다른 요소 중 하나를 반환합니다.

설명

월드 변환은 월드 좌표 공간에서 페이지 좌표 공간으로 점을 변환합니다. 페이지 변환은 페이지 좌표 공간에서 디바이스 좌표 공간으로 점을 변환합니다. 좌표 공간에 대한 자세한 내용은 좌표계 유형을 참조하세요.

예제

다음 예제에서는 Graphics 개체를 만들고 월드 변환을 오른쪽 40단위, 아래로 30단위 변환으로 설정합니다. 그런 다음, 코드는 점 배열을 만들고 해당 배열의 주소를 동일한 Graphics 개체의 Graphics::TransformPoints 메서드에 전달합니다. 배열의 포인트는 Graphics 개체의 월드 변환에 의해 변환됩니다. 이 코드는 Graphics::D rawLine 메서드를 두 번 호출합니다. 한 번은 변환 전에 두 지점을 연결하고 한 번은 변환 후 두 점을 연결합니다.

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

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP, Windows 2000 Professional [데스크톱 앱만 해당]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 gdiplusgraphics.h(Gdiplus.h 포함)
라이브러리 Gdiplus.lib
DLL Gdiplus.dll

추가 정보

그래픽

그래픽::GetTransform

그래픽::MultiplyTransform

그래픽::ResetTransform

그래픽::RotateTransform

그래픽::ScaleTransform

그래픽::SetTransform

그래픽::TranslateTransform

행렬

MatrixOrder

변환

좌표계 형식