Compartir a través de


Ink.Clip (Método)

Actualización: noviembre 2007

Quita las partes de un objeto Stroke o de una colección Strokes que están fuera de un rectángulo determinado.

Espacio de nombres:  Microsoft.Ink
Ensamblado:  Microsoft.Ink (en Microsoft.Ink.dll)

Sintaxis

'Declaración
Public Sub Clip ( _
    r As Rectangle _
)
'Uso
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
)

Parámetros

Comentarios

El parámetro r se especifica en coordenadas de espacio de entrada manuscrita.

Las partes de la entrada manuscrita que se encuentran fuera del rectángulo se eliminan del objeto Ink. Por ello, el método Clip puede agregar nuevos puntos a un objeto Stroke en el punto donde el objeto Stroke forma una intersección con el rectángulo.

Después de llamar al método Clip en un objeto Ink, es posible que cambien las propiedades de cada objeto Stroke en la colección Strokes del objeto Ink. Por ejemplo, si un objeto Stroke comienza dentro del área del rectángulo de recorte, sale del mismo y vuelve otra vez al rectángulo de recorte; se convierte en dos objetos Stroke y al menos uno de ellos tiene una nueva propiedad Id. A pesar de este comportamiento, se garantiza que todas las propiedades Id son únicas dentro de un objeto Ink, incluso si cambian. Otras propiedades del objeto Stroke también pueden experimentar un cambio similar.

Este método no tiene en cuenta el ancho del pincel al recortar. Recorta solo los datos reales de la entrada manuscrita o del trazo.

Para un objeto Stroke o una colección Strokes, el método Clip actualiza el objeto Ink primario. Siempre que se quitan entradas manuscritas de un objeto Ink, se pueden invalidar los objetos Stroke o las colecciones Strokes definidas para ese objeto Ink.

Para obtener más información sobre cómo se manipulan los datos de entradas manuscritas, vea Ink Data.

Ejemplos

En este ejemplo, se obtiene el área de cliente del control de entrada manuscrita, convertido en unidades HIMETRIC y, a continuación, reducido su tamaño por 1500 unidades. Después se usa el método Clip para quitar las partes de los objetos Stroke que quedan fuera del rectángulo.

' 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();

Plataformas

Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Información de versión

.NET Framework

Compatible con: 3.0

Vea también

Referencia

Ink (Clase)

Ink (Miembros)

Microsoft.Ink (Espacio de nombres)

Ink.HitTest

Stroke

Strokes