Freigeben über


Ink.Clip-Methode

Entfernt die Teile eines Stroke-Objekts oder einer Strokes-Auflistung, die sich außerhalb eines gegebenen Rechtecks befinden.

Namespace:  Microsoft.Ink
Assembly:  Microsoft.Ink (in Microsoft.Ink.dll)

Syntax

'Declaration
Public Sub Clip ( _
    r As Rectangle _
)
'Usage
Dim instance As Ink
Dim r As Rectangle

instance.Clip(r)
public void Clip(
    Rectangle r
)
public:
void Clip(
    Rectangle r
)
public void Clip(
    Rectangle r
)
public function Clip(
    r : Rectangle
)

Parameter

Hinweise

Der r-Parameter wird in Freihandbereichkoordinaten angegeben.

Teile der Freihandeingabe, die außerhalb des Rechtecks liegen, werden aus dem Ink-Objekt gelöscht. Daher kann die Clip-Methode einem Stroke-Objekt an dem Punkt neue Punkte hinzufügen, an dem das Stroke-Objekt das Rechteck schneidet.

Nach dem Aufruf der Clip-Methode für ein Ink-Objekt können sich die Eigenschaften jedes Stroke-Objekts in der Strokes-Auflistung des Ink-Objekts ändern. Wenn beispielsweise ein Stroke-Objekt im Bereich des Cliprechtecks beginnt, das Cliprechteck verlässt und dann wieder in das Cliprechteck zurückkehrt, wird es zu zwei Stroke-Objekten, von denen mindestens eines über eine neue Id-Eigenschaft verfügt. Trotz dieses Verhaltens ist sichergestellt, dass alle Id-Eigenschaften in einem Ink-Objekt eindeutig sind, selbst wenn sie geändert werden. Andere Eigenschaften für das Stroke-Objekt werden möglicherweise auf vergleichbare Weise geändert.

Diese Methode berücksichtigt die Stiftbreite beim Abschneiden nicht. Es schneidet nur die tatsächlichen Freihandeingaben oder Strichdaten ab.

Bei einem Stroke-Objekt oder einer Strokes-Auflistung aktualisiert die Clip-Methode das übergeordnete Ink-Objekt. Wenn Freihandeingaben aus einem Ink-Objekt entfernt werden, werden Stroke-Objekte oder Strokes-Auflistungen, die für dieses Ink-Objekt definiert sind, möglicherweise ungültig.

Weitere Informationen zur Bearbeitung von Freihandeingabedaten finden Sie unter Ink Data.

Beispiele

In diesem Beispiel wird der Clientbereich des Freihandsteuerelements abgerufen, in HIMETRIC-Einheiten konvertiert und dann um 1500 Einheiten verkleinert. Die Clip-Methode wird verwendet, um die Teile des Stroke-Objekts zu entfernen, die außerhalb des Rechtecks liegen.

' get the bottom right point of the client area for ink
' Note: InkOverlay.AttachedControl property must be set
Dim bottomRight As Point = New Point(mInkOverlay.AttachedControl.ClientSize)
' convert to HIMETRIC units
Using g As Graphics = mInkOverlay.AttachedControl.CreateGraphics()
    mInkOverlay.Renderer.PixelToInkSpace(g, bottomRight)
End Using
' create a rectangle of the client area (HIMETRIC units)
Dim R As Rectangle = New Rectangle(0, 0, bottomRight.X, bottomRight.Y)
' shrink the rectangle by 1500 
R.Inflate(-1500, -1500)
' clip the strokes to the rectangle
mInkOverlay.Ink.Clip(R)
mInkOverlay.AttachedControl.Invalidate()
// get the bottom right point of the client area for ink
// Note: InkOverlay.AttachedControl property must be set
Point bottomRight = new Point(mInkOverlay.AttachedControl.ClientSize);
// convert to HIMETRIC units
using (Graphics g = mInkOverlay.AttachedControl.CreateGraphics())
{
    mInkOverlay.Renderer.PixelToInkSpace(g, ref bottomRight);
}
// create a rectangle of the client area (HIMETRIC units)
Rectangle R = new Rectangle(0, 0, bottomRight.X, bottomRight.Y);
// shrink the rectangle by 1500 
R.Inflate(-1500, -1500);
// clip the strokes to the rectangle
mInkOverlay.Ink.Clip(R);
mInkOverlay.AttachedControl.Invalidate();

Plattformen

Windows Vista

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Versionsinformationen

.NET Framework

Unterstützt in: 3.0

Siehe auch

Referenz

Ink-Klasse

Ink-Member

Microsoft.Ink-Namespace

Ink.HitTest

Stroke

Strokes