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

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

구문

Status GetRegionScans(
  const Matrix *matrix,
  RectF        *rects,
  INT          *count
);

매개 변수

matrix

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

rects

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

count

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

반환 값

형식: 상태

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

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

설명

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

예제

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

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

   SolidBrush solidBrush(Color(255, 255, 0, 0));
   Pen pen(Color(255, 0, 0, 0));
   GraphicsPath path;
   Matrix matrix;
   RectF* 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 = (RectF*)malloc(count*sizeof(RectF));
   pathRegion.GetRegionScans(&matrix, rects, &count);

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

   free(rects);
}

요구 사항

요구 사항
헤더 gdiplusheaders.h

추가 정보

지역

행렬

Rect

상태

Region::GetRegionScansCount

지역을 사용한 적중 테스트

지역