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 |