GdipWidenPath()



Syntaxe
Resultat.i = GdipWidenPath(*nativePath, *pen, *matrix, flatness.f = #FlatnessDefault)
Paramètres
*nativePath

[in] Pointeur sur un objet GraphicsPath.

*pen

[in] Pointeur sur un objet Pen.

*matrix

[in] Pointeur sur un objet Matrix qui spécifie la matrice de transformation appliquée avant l'élargissement du tracé. Ce paramètre peut être mis à #Null, dans ce cas aucune transformation n'est appliquée.

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 de créer un contour autour des lignes d'origine du GraphicsPath, avec une distance entre les lignes d'origine et le nouveau contour égale à l'épaisseur du pen passé par le paramètre *pen lors de l'appel de la fonction. Le pen servant à l'élargissement peut avoir les propriétés des pens comme les pointillés etc., le rendu conservera ces propriétés.

La fonction aplanie les courbes en fonction du paramètre flatness (voir les exemples de la fonction GdipFlattenPath()).

Une matrice de transformation peut être appliquée avant l'élargissement du tracé (paramètre *matrix).

Il est possible de remplir l'espace entre le contour d'origine et le contour élargi avec la fonction GdipFillPath() en remplacement de GdipDrawPath().

Le premier fichier d'exemple dessine une courbe (spline cardinale) en forme de 8 couché. Le pen servant à l'élargissement a une largeur de 10 pixels. Aucune matrice de transformation n'est appliquée, le paramètre flatness vaut #FlatnessDefault. La forme finale est dessinée avec un pen bleu de 1 pixel de largeur.

Aperçu :

Le second fichier d'exemple est identique au premier mais avec le pen d'élargissement étant en pointillés. Le rendu final conserve cette propriété.

Aperçu :

Le troisième fichier d'exemple est identique au premier mais avec le paramètre flatness valant 8, ce qui a pour effet de remplacer les lignes courbes par des segments de droite.

Aperçu :

Le dernier fichier d'exemple est identique au premier mais le GraphicsPath est dessiné avec la fonction GdipFillPath() et une brush jaune.

Aperçu :


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