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에 대한 포인터입니다. rects가 NULL 포인터인 경우에도 값이 유효합니다.
반환 값
형식: 상태
메서드가 성공하면 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 |