다음을 통해 공유


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

PathGradientBrush::GetBlendCount 메서드는 이 경로 그라데이션 브러시에 대해 현재 설정된 혼합 요소 수를 가져옵니다.

구문

INT GetBlendCount();

반환 값

형식: INT

이 메서드는 이 경로 그라데이션 브러시에 대해 현재 설정된 혼합 요소 수를 반환합니다.

설명

PathGradientBrush 개체의 PathGradientBrush::GetBlend 메서드를 호출하기 전에 두 개의 버퍼를 할당해야 합니다. 하나는 혼합 요소 배열을 수신하고 다른 하나는 혼합 위치 배열을 수신합니다. 필요한 버퍼의 크기를 확인하려면 PathGradientBrush 개체의 PathGradientBrush::GetBlendCount 메서드 를 호출합니다. 각 버퍼의 크기(바이트)는 PathGradientBrush::GetBlendCount 의 반환 값에 sizeof( REAL)를 곱한 값이어야 합니다.

예제

다음 예제에서는 PathGradientBrush::SetBlend, PathGradientBrush::GetBlendCountPathGradientBrush::GetBlend를 포함하여 PathGradientBrush 클래스의 여러 메서드를 보여 줍니다. 이 코드는 PathGradientBrush 개체를 만들고 PathGradientBrush::SetBlend 메서드를 호출하여 브러시에 대한 혼합 요소 및 혼합 위치 집합을 설정합니다. 그런 다음, 코드는 PathGradientBrush::GetBlendCount 메서드를 호출하여 혼합 요소 수를 검색합니다. 혼합 요소 수를 검색한 후 코드는 두 개의 버퍼를 할당합니다. 하나는 혼합 요소 배열을 수신하고 다른 하나는 혼합 위치 배열을 수신합니다. 그런 다음, 코드는 PathGradientBrush::GetBlend 메서드를 호출하여 혼합 요소 및 혼합 위치를 검색합니다.

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

   // Create a path that consists of a single ellipse.
   GraphicsPath path;
   path.AddEllipse(0, 0, 200, 100);

   // Use the path to construct a brush.
   PathGradientBrush pthGrBrush(&path);

   // Set the color at the center of the path to blue.
   pthGrBrush.SetCenterColor(Color(255, 0, 0, 255));

   // Set the color along the entire boundary of the path to aqua.
   Color colors[] = {Color(255, 0, 255, 255)};
   INT count = 1;
   pthGrBrush.SetSurroundColors(colors, &count);

   // Set blend factors and positions for the path gradient brush.
   REAL fac[] = {
      0.0f, 
      0.4f,     // 40 percent of the way from aqua to blue
      0.8f,     // 80 percent of the way from aqua to blue
      1.0f};

   REAL pos[] = {
      0.0f, 
      0.3f,   // 30 percent of the way from the boundary to the center
      0.7f,   // 70 percent of the way from the boundary to the center
      1.0f};

   pthGrBrush.SetBlend(fac, pos, 4);

   // Fill the ellipse with the path gradient brush.
   graphics.FillEllipse(&pthGrBrush, 0, 0, 200, 100);

   // Obtain information about the path gradient brush.
   INT blendCount = pthGrBrush.GetBlendCount();
   REAL* factors = new REAL[blendCount];
   REAL* positions = new REAL[blendCount];

   pthGrBrush.GetBlend(factors, positions, blendCount);

   for(INT j = 0; j < blendCount; ++j)
   {
      // Inspect or use the value in factors[j].
      // Inspect or use the value in positions[j].    
   }

   delete [] factors;
   delete [] positions; 
}

요구 사항

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

참고 항목

브러시 및 채워진 도형

경로 그라데이션 만들기

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

PathGradientBrush

PathGradientBrush::GetBlend

PathGradientBrush::SetBlend