Поделиться через


Метод 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

См. также раздел

Матрица

Rect

Регион

Методы Region::GetRegionScans