Region::GetRegionScans(constMatrix*,Rect*,INT*)-Methode (gdiplusheaders.h)
Die Region::GetRegionScans-Methode ruft ein Array von Rechtecken ab, die sich diesem Bereich annähern. Der Bereich wird von einer angegebenen Matrix transformiert, bevor die Rechtecke berechnet werden.
Syntax
Status GetRegionScans(
[in] const Matrix *matrix,
[out] Rect *rects,
[out] INT *count
);
Parameter
[in] matrix
Typ: const Matrix*
Zeiger auf ein Matrix-Objekt , das zum Transformieren des Bereichs verwendet wird.
[out] rects
Typ: Rect*
Zeiger auf ein Array von Rect-Objekten , das die Rechtecke empfängt.
[out] count
Typ: INT*
Zeiger auf einen INT-Wert, der einen Wert empfängt, der die Anzahl der Rechtecke angibt, die sich diesem Bereich annähern. Der Wert ist auch dann gültig, wenn Rects ein NULL-Zeiger sind.
Rückgabewert
Typ: Status
Wenn die Methode erfolgreich ist, gibt sie OK zurück, ein Element der Status-Enumeration .
Wenn die Methode fehlschlägt, wird eines der anderen Elemente der Status-Enumeration zurückgegeben.
Hinweise
Die Region::GetRegionScansCount-Methode kann zuerst verwendet werden, um die Anzahl der Rechtecke zu bestimmen. Anschließend können Sie einen Puffer mit der richtigen Größe zuordnen und den Rects-Parameter so festlegen, dass er auf den Puffer zeigt.
Beispiele
Im folgenden Beispiel wird eine Region aus einem Pfad erstellt und eine Reihe von Rechtecks abgerufen, die sich der Region annähern. Der Code zeichnet dann die einzelnen Rechtecke.
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);
}
Anforderungen
Unterstützte Mindestversion (Client) | Windows XP, Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | gdiplusheaders.h (include Gdiplus.h) |
Bibliothek | Gdiplus.lib |
DLL | Gdiplus.dll |