Metodo Stroke.FindIntersections
Aggiornamento: novembre 2007
Trova i punti in cui questo oggetto Stroke interseca gli altri oggetti Stroke all'interno di un insieme Strokes specificato.
Spazio dei nomi: Microsoft.Ink
Assembly: Microsoft.Ink (in Microsoft.Ink.dll)
Sintassi
'Dichiarazione
Public Function FindIntersections ( _
strokes As Strokes _
) As Single()
'Utilizzo
Dim instance As Stroke
Dim strokes As Strokes
Dim returnValue As Single()
returnValue = instance.FindIntersections(strokes)
public float[] FindIntersections(
Strokes strokes
)
public:
array<float>^ FindIntersections(
Strokes^ strokes
)
public float[] FindIntersections(
Strokes strokes
)
public function FindIntersections(
strokes : Strokes
) : float[]
Parametri
- strokes
Tipo: Microsoft.Ink.Strokes
Insieme Strokes utilizzato per verificare le intersezioni con questo oggetto Stroke. Se nullriferimento null (Nothing in Visual Basic) (Nothing in Microsoft Visual Basic .NET), utilizza tutti gli insiemi Strokes dell'oggetto Ink.
Valore restituito
Tipo: array<System.Single[]
Questo metodo restituisce una matrice di valori di indice a virgola mobile che indica le posizioni in cui si verificano le intersezioni.
Un indice a virgola mobile è un valore float che rappresenta una posizione tra due punti nell'oggetto Stroke. Ad esempio, se 0,0 è il primo punto nel tratto e 1,0 è il secondo punto nel tratto, 0,5 si trova in posizione intermedia tra il primo e il secondo punto. Allo stesso modo, un valore di indice a virgola mobile di 37,25 rappresenta una posizione che si trova al 25 percento sulla riga tra i punti 37 e 38 del tratto.
Note
Nota
L'insieme Strokes nel parametro strokes deve provenire dallo stesso oggetto Ink dell'oggetto Stroke per cui si sta verificando l'intersezione.
Questo metodo può determinare solo i punti di intersezione.
Esempi
In questo esempio, viene esaminato ogni oggetto Stroke selezionato di un oggetto InkOverlay. Se l'oggetto Stroke dispone almeno di un'intersezione con il resto dell'insieme Strokes presente nell'oggetto Ink, l'oggetto Stroke viene suddiviso in corrispondenza del primo punto di intersezione.
' Access to the Strokes property returns a copy of the Strokes object.
' This copy must be implicitly (via using statement) or explicitly
' disposed of in order to avoid a memory leak.
Using allStrokes As Strokes = mInkOverlay.Ink.Strokes
For Each S As Stroke In mInkOverlay.Selection
' find the intersections
Dim intersections() As Single = S.FindIntersections(allStrokes)
' if we have at least 1 intersection, split the stroke
If intersections.Length > 0 Then
S.Split(intersections(0))
End If
Next
End Using
// Access to the Strokes property returns a copy of the Strokes object.
// This copy must be implicitly (via using statement) or explicitly
// disposed of in order to avoid a memory leak.
using (Strokes allStrokes = mInkOverlay.Ink.Strokes)
{
foreach (Stroke S in mInkOverlay.Selection)
{
// find the intersections
float[] intersections = S.FindIntersections(allStrokes);
// if we have at least 1 intersection, split the stroke
if (intersections.Length > 0)
{
S.Split(intersections[0]);
}
}
}
Piattaforme
Windows Vista
.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Informazioni sulla versione
.NET Framework
Supportato in: 3.0