Метод Region::GetRegionScansCount (gdiplusheaders.h)
Метод Region::GetRegionScansCount получает количество прямоугольников, приближенных к этой области. Область преобразуется указанной матрицей перед вычислением прямоугольников.
Синтаксис
UINT GetRegionScansCount(
[in] const Matrix *matrix
);
Параметры
[in] matrix
Тип: const Matrix*
Указатель на матрицу, используемую для преобразования области.
Возвращаемое значение
Тип: UINT
Этот метод возвращает целое число, указывающее количество прямоугольников, приближенных к этой области.
Комментарии
Метод Region::GetRegionScansCount можно использовать перед методом GetRegionScans для определения количества прямоугольников. Затем можно выделить буфер правильного размера для хранения прямоугольников, полученных с помощью метода GetRegionScans.
Примеры
В следующем примере создается область из пути и возвращается набор прямоугольников, приближенных к области. Затем код рисует каждый из прямоугольников.
VOID Example_GetRegionScansCount(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);
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP, Windows 2000 Профессиональная [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | gdiplusheaders.h (включая Gdiplus.h) |
Библиотека | Gdiplus.lib |
DLL | Gdiplus.dll |