다음을 통해 공유


PathGradientBrush::RotateTransform 메서드(gdipluspath.h)

PathGradientBrush::RotateTransform 메서드는 이 브러시의 현재 변환 매트릭스를 자체의 곱과 회전 행렬로 업데이트합니다.

구문

Status RotateTransform(
  [in] REAL        angle,
  [in] MatrixOrder order
);

매개 변수

[in] angle

형식: REAL

회전 각도를 도 단위로 지정하는 실수입니다.

[in] order

형식: MatrixOrder

(선택 사항) 곱하기 순서를 지정하는 MatrixOrder 열거형의 요소입니다. MatrixOrderPrepend 는 회전 행렬이 왼쪽에 있음을 지정하고 MatrixOrderAppend 는 회전 행렬이 오른쪽에 있음을 지정합니다. 기본값은 MatrixOrderPrepend입니다.

반환 값

형식: 상태

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

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

설명

단일 3 ×3 행렬은 모든 일련의 아핀 변환을 저장할 수 있습니다. 각각 아핀 변환을 나타내는 3개의 ×3 행렬이 여러 개 있는 경우 이러한 행렬의 곱은 전체 변환 시퀀스를 나타내는 단일 3 ×3 행렬입니다. 해당 제품이 나타내는 변환을 복합 변환이라고 합니다. 예를 들어 행렬 T가 변환을 나타내고 행렬 R이 회전을 나타낸다고 가정합니다. 행렬 M이 제품 TR인 경우 행렬 M은 복합 변환을 나타냅니다. 먼저 변환한 다음 회전합니다.

예제

다음 예제에서는 삼각형 경로를 기반으로 PathGradientBrush 개체를 만듭니다. PathGradientBrush 개체의 PathGradientBrush::ScaleTransformPathGradientBrush::RotateTransform 메서드에 대한 호출은 브러시의 변환 행렬의 요소를 설정하여 복합 변환을 나타내도록 첫 번째 눈금, 회전합니다. 이 코드는 경로 그라데이션 브러시를 두 번 사용하여 사각형을 그립니다. 변환이 설정되기 전에 한 번, 변환이 설정된 후 한 번입니다.

VOID Example_RotateTransform(HDC hdc)
{
   Graphics graphics(hdc);

   // Create a path gradient brush based on an array of points.
   Point pts[] = {Point(0, 0), Point(50, 0), Point(50, 50)};
   PathGradientBrush pthGrBrush(pts, 3);

   // Fill an area with the path gradient brush (no transformation).
   graphics.FillRectangle(&pthGrBrush, 0, 0, 500, 500);

   pthGrBrush.ScaleTransform(3.0f, 1.0f);                 // first scale
   pthGrBrush.RotateTransform(60.0f, MatrixOrderAppend);  // then rotate

   // Fill the same area with the transformed path gradient brush.
   graphics.FillRectangle(&pthGrBrush, 0, 0, 500, 500);
}

요구 사항

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

참고 항목

브러시 및 채워진 도형

경로 그라데이션 만들기

도형에 색 그라데이션 채우기

행렬

변환에 대한 매트릭스 표현

MatrixOrder

PathGradientBrush

PathGradientBrush::GetTransform

PathGradientBrush::MultiplyTransform

PathGradientBrush::ResetTransform

PathGradientBrush::ScaleTransform

PathGradientBrush::SetTransform

PathGradientBrush::TranslateTransform

변환