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

PathGradientBrush::GetSurroundColors 메서드는 이 경로 그라데이션 브러시에 대해 현재 지정된 서라운드 색을 가져옵니다.

구문

Status GetSurroundColors(
  [in]      Color *colors,
  [in, out] INT   *count
);

매개 변수

[in] colors

형식: *

서라운드 색을 받는 배열에 대한 포인터입니다.

[in, out] count

형식: INT*

입력 시 요청된 색 수를 지정하는 정수에 대한 포인터입니다. 메서드가 성공하면 출력 시 이 매개 변수는 검색된 색 수를 받습니다. 메서드가 실패하면 이 매개 변수는 값을 받지 않습니다.

반환 값

형식: 상태

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

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

설명

경로 그라데이션 브러시에는 경계 경로와 중심점이 있습니다. 중심점은 단일 색으로 설정되지만 경계의 여러 점에 대해 서로 다른 색을 지정할 수 있습니다. 예를 들어 가운데 색에 빨간색을 지정하고 경계의 고유 지점에 파란색, 녹색 및 노란색을 지정한다고 가정합니다. 그런 다음 경계를 따라 이동하면 색이 파란색에서 녹색으로, 노란색으로, 다시 파란색으로 변경됩니다. 경계의 모든 지점에서 가운데 지점으로 직선을 따라 이동하면 해당 경계점의 색에서 빨간색으로 색이 변경됩니다.

예제

다음 예제에서는 3개의 점 배열로 정의된 삼각형 경로를 기반으로 PathGradientBrush 개체를 만듭니다. 이 코드는 PathGradientBrush 개체의 PathGradientBrush::SetSurroundColors 메서드를 호출하여 삼각형을 정의하는 각 점의 색을 지정합니다. PathGradientBrush::GetSurroundColorCount 메서드는 현재 서라운드 색 수(브러시의 경계 경로에 지정된 색)를 결정합니다. 다음으로 코드는 서라운드 색 배열을 받을 수 있을 만큼 큰 버퍼를 할당하고 PathGradientBrush::GetSurroundColors 를 호출하여 해당 버퍼를 채웁니다. 마지막으로 코드는 브러시의 각 서라운드 색으로 작은 사각형을 채웁니다.

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

   // Create a path gradient brush and set its surround colors.
   Point pts[] = {
      Point(20, 20), 
      Point(100, 20), 
      Point(100, 100)};

   Color cols[] = {
      Color(255, 255, 0, 0),  // red
      Color(255, 0, 255, 0),  // green
      Color(255, 0, 0, 0)};   // black

   INT count = 3;
   PathGradientBrush pthGrBrush(pts, 3);
   pthGrBrush.SetSurroundColors(cols, &count);
   
   // Obtain information about the path gradient brush.
   INT colorCount = pthGrBrush.GetSurroundColorCount();
   Color* colors = new Color[colorCount];
   pthGrBrush.GetSurroundColors(colors, &colorCount);

   // Fill a small square with each of the surround colors.
   SolidBrush solidBrush(Color(255, 255, 255, 255));

   for(INT j = 0; j < colorCount; ++j)
   {
      solidBrush.SetColor(colors[j]);
      graphics.FillRectangle(&solidBrush, 15*j, 0, 10, 10);
   }

   delete [] colors;
}

요구 사항

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

추가 정보

브러시 및 채워진 도형

색상

경로 그라데이션 만들기

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

PathGradientBrush

PathGradientBrush::GetSurroundColorCount

PathGradientBrush::SetSurroundColors