Stroke.FindIntersections, méthode
Mise à jour : November 2007
Recherche les points où cet objet Stroke croise d'autres objets Stroke dans une collection Strokes donnée.
Espace de noms : Microsoft.Ink
Assembly : Microsoft.Ink (dans Microsoft.Ink.dll)
Syntaxe
'Déclaration
Public Function FindIntersections ( _
strokes As Strokes _
) As Single()
'Utilisation
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[]
Paramètres
- strokes
Type : Microsoft.Ink.Strokes
Collection Strokes utilisée pour tester les intersections avec cet objet Stroke. Si nullune référence null (Nothing en Visual Basic) (Nothing en Microsoft Visual Basic .NET), toutes les collections Strokes de l'objet Ink sont utilisées.
Valeur de retour
Type : array<System.Single[]
Cette méthode retourne un tableau de valeurs d'index à virgule flottante qui indiquent les emplacements des intersections.
L'index à virgule flottante désigne une valeur float qui représente un emplacement situé entre deux points de l'objet Stroke. Par exemple, si 0.0 est le premier point du trait et 1.0 le deuxième, 0.5 est à mi-chemin entre le premier et le deuxième points. De la même façon, une valeur d'index à virgule flottante de 37,25 représente un emplacement qui est situé à 25 % sur la longueur de la ligne entre les points 37 et 38 du trait.
Notes
Remarque : |
---|
La collection Strokes du paramètre strokes doit provenir du même objet Ink que l'objet Stroke dont vous testez les intersections. |
Cette méthode ne peut déterminer que les points d'intersection.
Exemples
Dans cet exemple, chaque objet Stroke sélectionné d'un InkOverlay est examiné. Si le Stroke a au moins une intersection avec le reste de la collection Strokes de l'objet Ink, le Stroke est fractionné au niveau du premier point d'intersection.
' 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]);
}
}
}
Plateformes
Windows Vista
Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Informations de version
.NET Framework
Pris en charge dans : 3.0