GdipGetPathData()



Syntaxe
Resultat.i = GdipGetPathData(*path, @pathData.PathData)
Paramètres
*path

[in] Pointeur sur un objet GraphicsPath.

pathData.PathData

[out] Variable de type PathData.
Le membre Count devra valoir le nombre d'éléments des tableaux de points pointF et de points types de la structure.
Les membres Points.PointF et Types.Byte devront être suffisamment dimensionnés et recevront les valeurs définissant les points du tracé.

Description

Cette fonction permet d'obtenir un tableau de points (PointF) et un tableau de points types (Byte) à partir desquels le GraphicsPath est créé. Ces deux tableaux définissent les lignes, les courbes, les figures et les marqueurs du tracé.

Les points sont définis par des coordonnées contenus dans le tableau Points.PointF et le type de chaque point est contenu dans le tableau Types.Byte. Le type de chaque point est un membre de l'énumération PathPointType.

Certaines fonctions ne stockent pas les tableaux de points d'origine mais elles convertissent les courbes (spline cardinale etc.) en en une suite de courbes de Bézier et sauvegardent les points qui définissent ces courbes de Bézier. Il en résulte que le nombre de points retrouvés est plus important que le nombre de points d'origine. Il est préférable d'utiliser la fonction GdipGetPointCount() pour retrouver ce nombre de points pour dimensionner correctement les tableaux. Si les tableaux PureBasic sont mal dimensionnés, la fonction peut échouer ou le programme peut planter (accès mémoire invalide).

Le fichier d'exemple affiche les points sur les courbes du tracé avec le bouton en partie basse de la fenêtre. Le nombre de points est retrouvé à l'aide de la fonction GdipGetPointCount().

Résultat de la fonction
Si la fonction réussit, elle retourne #Ok qui est une constante de l'énumération status.
Si la fonction échoue, elle retourne une des autres valeurs de l'énumération status.
PB - OS
PureBasic v4.30 bêta 4 (Windows - x86)
Testé avec Windows Vista édition familiale Premium