Metodo Region::GetRegionScans(constMatrix*,Rect*,INT*) (gdiplusheaders.h)
Il metodo Region::GetRegionScans ottiene una matrice di rettangoli che approssimano questa area. L'area viene trasformata da una matrice specificata prima che vengano calcolati i rettangoli.
Sintassi
Status GetRegionScans(
[in] const Matrix *matrix,
[out] Rect *rects,
[out] INT *count
);
Parametri
[in] matrix
Tipo: matrice* const
Puntatore a un oggetto Matrix utilizzato per trasformare l'area.
[out] rects
Tipo: Rect*
Puntatore a una matrice di oggetti Rect che ricevono i rettangoli.
[out] count
Tipo: INT*
Puntatore a un INT che riceve un valore che indica il numero di rettangoli che approssimano questa area. Il valore è valido anche se rects è un puntatore NULL .
Valore restituito
Tipo: Stato
Se il metodo ha esito positivo, restituisce Ok, ovvero un elemento dell'enumerazione Status .
Se il metodo ha esito negativo, restituisce uno degli altri elementi dell'enumerazione Status .
Commenti
Il metodo Region::GetRegionScansCount può essere usato prima per determinare il numero di rettangoli. È quindi possibile allocare un buffer che corrisponde alla dimensione corretta e impostare il parametro rects per puntare al buffer.
Esempio
Nell'esempio seguente viene creata un'area da un percorso e viene ottenuto un set di rettangoli che approssimano l'area. Il codice disegna quindi ognuno dei rettangoli.
VOID Example_GetRegionScansRect(HDC hdc)
{
Graphics graphics(hdc);
SolidBrush solidBrush(Color(255, 255, 0, 0));
Pen pen(Color(255, 0, 0, 0));
GraphicsPath path;
Matrix matrix;
Rect* 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 = (Rect*)malloc(count*sizeof(Rect));
pathRegion.GetRegionScans(&matrix, rects, &count);
// Draw the rectangles.
for(INT j = 0; j < count; ++j)
graphics.DrawRectangle(&pen, rects[j]);
free(rects);
}
Requisiti
Client minimo supportato | Windows XP, Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | gdiplusheaders.h (include Gdiplus.h) |
Libreria | Gdiplus.lib |
DLL | Gdiplus.dll |