Beschneiden mit einer Region

Eine der Eigenschaften der Graphics-Klasse ist der Clippingbereich. Alle Zeichnungen, die von einem bestimmten Graphics-Objekt ausgeführt werden, sind auf den Beschneidungsbereich dieses Graphics-Objekts beschränkt. Sie können den Beschneidungsbereich festlegen, indem Sie die SetClip-Methode aufrufen.

Im folgenden Beispiel wird ein Pfad erstellt, der aus einem einzelnen Polygon besteht. Anschließend erstellt der Code basierend auf diesem Pfad einen Bereich. Die Adresse des Bereichs wird an die SetClip-Methode eines Graphics-Objekts übergeben, und dann werden zwei Zeichenfolgen gezeichnet.

// Create a path that consists of a single polygon.
Point polyPoints[] = {Point(10, 10), Point(150, 10), 
   Point(100, 75), Point(100, 150)};
GraphicsPath path;
path.AddPolygon(polyPoints, 4);
// Construct a region based on the path.
Region region(&path);
// Draw the outline of the region.
Pen pen(Color(255, 0, 0, 0));
graphics.DrawPath(&pen, &path);
// Set the clipping region of the Graphics object.
graphics.SetClip(&region);
// Draw some clipped strings.
FontFamily fontFamily(L"Arial");
Font font(&fontFamily, 36, FontStyleBold, UnitPixel);
SolidBrush solidBrush(Color(255, 255, 0, 0));
graphics.DrawString(L"A Clipping Region", 20, &font, 
   PointF(15, 25), &solidBrush);
graphics.DrawString(L"A Clipping Region", 20, &font, 
   PointF(15, 68), &solidBrush);

Die folgende Abbildung zeigt die beschnittenen Zeichenfolgen.

Abbildung, die Teile von zwei Sätzen zeigt, die innerhalb einer vierseitigen Form angezeigt werden