Region::GetRegionScans(constMatrix*,RectF*,INT*) 메서드(gdiplusheaders.h)
Region::GetRegionScans 메서드는 이 지역과 근사치를 나타내는 사각형 배열을 가져옵니다. 영역은 사각형이 계산되기 전에 지정된 행렬에 의해 변환됩니다.
구문
Status GetRegionScans(
const Matrix *matrix,
RectF *rects,
INT *count
);
매개 변수
matrix
지역을 변환하는 데 사용되는 Matrix 개체에 대한 포인터입니다.
rects
사각형을 수신하는 RectF 개체의 배열에 대한 포인터입니다.
count
이 지역과 유사한 사각형 수를 나타내는 값을 받는 INT 에 대한 포인터입니다. rects가 NULL 포인터인 경우에도 값이 유효합니다.
반환 값
형식: 상태
메서드가 성공하면 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 |