Método Region::GetRegionScans(constMatrix*,RectF*,INT*) (gdiplusheaders.h)

O método Region::GetRegionScans obtém uma matriz de retângulos que se aproximam dessa região. A região é transformada por uma matriz especificada antes que os retângulos sejam calculados.

Sintaxe

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

Parâmetros

matrix

Ponteiro para um objeto Matrix usado para transformar a região.

rects

Ponteiro para uma matriz de objetos RectF que recebe os retângulos.

count

Ponteiro para um INT que recebe um valor que indica o número de retângulos que se aproximam dessa região. O valor é válido mesmo se rects for um ponteiro NULL .

Retornar valor

Tipo: Status

Se o método for bem-sucedido, ele retornará Ok, que é um elemento da enumeração Status .

Se o método falhar, ele retornará um dos outros elementos da enumeração Status .

Comentários

O método Region::GetRegionScansCount pode ser usado primeiro para determinar o número de retângulos. Em seguida, você pode alocar um buffer com o tamanho correto e definir o parâmetro rects para apontar para o buffer.

Exemplos

O exemplo a seguir cria uma região de um caminho e obtém um conjunto de retângulos que se aproximam da região. Em seguida, o código desenha cada um dos retângulos.

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);
}

Requisitos

Requisito Valor
Cabeçalho gdiplusheaders.h

Confira também

Região

Matriz

Rect

Status

Region::GetRegionScansCount

Teste de clique com uma região

Regiões