GdipFlattenPath()



Syntaxe
Resultat.i = GdipFlattenPath(*path, *matrix, flatness.f = #FlatnessDefault)
Paramètres
*path

[in] Pointeur sur un objet GraphicsPath.

*matrix

[in] Pointeur sur un objet Matrix qui spécifie la matrice de transformation à appliquer au pen. Si on ne souhaite pas utiliser une transformation, ce paramètre peut être mis à #Null.

flatness.f

[in] Erreur maximale autorisée entre la courbe et son approximation en courbe aplanie (à deux dimensions). La réduction de la planéité augmente le nombre de segments de l'approximation. La valeur par défaut est #FlatnessDefault. Une réduction de cette valeur augmente le nombre de segments de la courbe d'approximation.

Description
Cette fonction permet d'appliquer ou non au GraphicsPath une transformation à l'aide la matrice *matrix puis de convertir chaque courbe du GraphicsPath en une succession de segments reliés entre eux.

Le premier exemple dessine une courbe, une ellipse et une courbe de Bézier. On peut appliquer la fonction sans matrice de transformation avec le bouton en partie basse de la fenêtre.

Le deuxième exemple dessine une courbe, une ellipse et une courbe de Bézier. On peut appliquer la fonction avec une matrice de transformation qui modifie l'échelle en X et Y (facteur de 0,75) avec le bouton en partie basse de la fenêtre.

Le dernier exemple possède les mêmes courbes, puis la fonction est appliquée sans matrice. Le bouton en partie basse de la fenêtre permet d'afficher les points utilisés pour l'approximation de la nouvelle courbe. Ces points sont retrouvés à l'aide des fonctions GdipGetPointCount() et GdipGetPathData() qui retrouvent le nombre de points, leurs valeurs et types.

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