Partager via


Region ::GetRegionScans(constMatrix*,RectF*,INT*), méthode (gdiplusheaders.h)

La méthode Region ::GetRegionScans obtient un tableau de rectangles qui se rapprochent de cette région. La région est transformée par une matrice spécifiée avant le calcul des rectangles.

Syntaxe

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

Paramètres

matrix

Pointeur vers un objet Matrix utilisé pour transformer la région.

rects

Pointeur vers un tableau d’objets RectF qui reçoit les rectangles.

count

Pointeur vers un INT qui reçoit une valeur qui indique le nombre de rectangles qui se rapprochent de cette région. La valeur est valide même si rects est un pointeur NULL .

Valeur retournée

Type : État

Si la méthode réussit, elle retourne Ok, qui est un élément de l’énumération Status .

Si la méthode échoue, elle retourne l’un des autres éléments de l’énumération Status .

Remarques

La méthode Region ::GetRegionScansCount peut d’abord être utilisée pour déterminer le nombre de rectangles. Ensuite, vous pouvez allouer une mémoire tampon dont la taille est correcte et définir le paramètre rects pour qu’il pointe vers la mémoire tampon.

Exemples

L’exemple suivant crée une région à partir d’un chemin et obtient un ensemble de rectangles qui se rapprochent de la région. Le code dessine ensuite chacun des rectangles.

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

Configuration requise

Condition requise Valeur
En-tête gdiplusheaders.h

Voir aussi

Région

Matrice

Rect

État

Region ::GetRegionScansCount

Test d’accès avec une région

Régions