다음을 통해 공유


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

PathGradientBrush::MultiplyTransform 메서드는 브러시의 변환 매트릭스를 자체 및 다른 행렬의 곱으로 업데이트합니다.

구문

Status MultiplyTransform(
  [in] const Matrix *matrix,
  [in] MatrixOrder  order
);

매개 변수

[in] matrix

형식: 행렬*

브러시의 현재 변환 행렬을 곱할 행렬에 대한 포인터입니다.

[in] order

형식: MatrixOrder

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

반환 값

형식: 상태

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

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

설명

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

행렬 곱셈 순서가 중요합니다. 일반적으로 행렬 제품 RT는 행렬 제품 TR과 동일하지 않습니다. 이전 단락에서 제공된 예제에서 RT로 표시되는 복합 변환(첫 번째 회전, 변환)은 TR(첫 번째 변환, 회전)이 나타내는 복합 변환과 동일하지 않습니다.

예제

다음 예제에서는 삼각형 경로를 기반으로 PathGradientBrush 개체를 만듭니다. 이 코드는 PathGradientBrush 개체의 PathGradientBrush::ScaleTransform 메서드를 호출하여 브러시의 변환 행렬을 가로 배율을 3배로 나타내는 요소로 채웁니다. 그런 다음, 코드는 동일한 PathGradientBrush 개체의 PathGradientBrush::MultiplyTransform 메서드를 호출하여 브러시의 기존 변환 행렬을 변환을 나타내는 행렬(오른쪽 10개, 아래로 30개)을 곱합니다. MatrixOrderAppend 인수는 오른쪽의 변환 행렬을 사용하여 곱하기가 수행됨을 나타냅니다.

곱한 후 브러시의 변환 매트릭스는 복합 변환을 나타냅니다. 첫 번째 배율, 변환. 이 복합 변환은 FillRectangle을 호출하는 동안 브러시의 경계 경로에 적용되므로 그리는 변환된 경로 내의 영역입니다.

VOID Example_MultiplyTransform(HDC hdc)
{
   Graphics graphics(hdc);
   Point pts[] = {Point(0, 0), Point(50, 0), Point(50, 50)};

   // Translate 10 right, 30 down.
   Matrix matrix(1.0f, 0.0f, 0.0f, 1.0f, 10.0f, 30.0f);

   PathGradientBrush pthGrBrush(pts, 3);
   pthGrBrush.ScaleTransform(3.0f, 1.0f);
   pthGrBrush.MultiplyTransform(&matrix, MatrixOrderAppend);

   graphics.FillRectangle(&pthGrBrush, 0, 0, 200, 200);  
}

요구 사항

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

추가 정보

브러시 및 채워진 도형

경로 그라데이션 만들기

색 그라데이션으로 도형 채우기

행렬

변환에 대한 매트릭스 표현

MatrixOrder

PathGradientBrush

PathGradientBrush::GetTransform

PathGradientBrush::ResetTransform

PathGradientBrush::RotateTransform

PathGradientBrush::ScaleTransform

PathGradientBrush::SetTransform

PathGradientBrush::TranslateTransform

변환