다음을 통해 공유


Region::GetRegionScans(constMatrix*,Rect*,INT*) 메서드(gdiplusheaders.h)

Region::GetRegionScans 메서드는 이 지역과 근사치를 나타내는 사각형 배열을 가져옵니다. 영역은 사각형이 계산되기 전에 지정된 행렬에 의해 변환됩니다.

구문

Status GetRegionScans(
  [in]  const Matrix *matrix,
  [out] Rect         *rects,
  [out] INT          *count
);

매개 변수

[in] matrix

형식: const Matrix*

지역을 변환하는 데 사용되는 Matrix 개체에 대한 포인터입니다.

[out] rects

형식: Rect*

사각형을 수신하는 Rect 개체의 배열에 대한 포인터입니다.

[out] count

형식: INT*

이 지역과 유사한 사각형 수를 나타내는 값을 받는 INT에 대한 포인터입니다. rectsNULL 포인터인 경우에도 값이 유효합니다.

반환 값

형식: 상태

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

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

설명

Region::GetRegionScansCount 메서드를 먼저 사용하여 사각형 수를 확인할 수 있습니다. 그런 다음 올바른 크기인 버퍼를 할당하고 rects 매개 변수를 버퍼를 가리키도록 설정할 수 있습니다.

예제

다음 예제에서는 경로에서 영역을 만들고 지역과 근사치를 나타내는 사각형 집합을 가져옵니다. 그런 다음 코드는 각 사각형을 그립니다.

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

   SolidBrush solidBrush(Color(255, 255, 0, 0));
   Pen pen(Color(255, 0, 0, 0));
   GraphicsPath path;
   Matrix matrix;
   Rect* rects = NULL;
   INT count = 0;  

   // Create a region from a path.
   path.AddEllipse(10, 10, 50, 300);
   Region pathRegion(&path);    
   graphics.FillRegion(&solidBrush, &pathRegion);

   // Get the rectangles.
   graphics.GetTransform(&matrix);
   count = pathRegion.GetRegionScansCount(&matrix);
   rects = (Rect*)malloc(count*sizeof(Rect));
   pathRegion.GetRegionScans(&matrix, rects, &count);  

   // Draw the rectangles.
   for(INT j = 0; j < count; ++j)
      graphics.DrawRectangle(&pen, rects[j]);

   free(rects);
}

요구 사항

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

참고 항목

지역을 사용한 적중 테스트

행렬

Rect

지역

Region::GetRegionScansCount

지역

상태