GdipSetPenTransform()
Syntaxe
|
Resultat.i = GdipSetPenTransform(*pen, *matrix)
Paramètres
|
*pen[in] Pointeur sur un objet Pen.
*matrix
[in] Pointeur sur un objet Matrix qui spécifie la matrice de transformation à appliquer au pen.
Description
|
Cette fonction permet d'appliquer une matrice de transformation au pen. Voir les commandes de matrice, par exemple GdipCreateMatrix(), GdipCreateMatrix2(), GdipCreateMatrix3() etc.La fonction applique une transformation géométrique définie par la matrice *matrix.
La partie translation de la matrice est ignorée par cette fonction.L'exemple montre une modification à l'aide de la matrice GdipCreateMatrix2().
La matrice applique une mise à l'échelle du pen en X de 22 et en Y de 10. Puisque la transformation utilise des coordonnées "world", le pen doit être défini avec une unité #UnitWorld pour obtenir des résultats corrects.Si on dessine un rectangle avec le pen transformé, la largeur du pen pour les traits verticaux sera multipliée par 22 (si la largeur du pen d'origine est de 1, son épaisseur ne change pas).
Pour les traits horizontaux, la largeur du pen sera multipliée par 10 (même remarque pour la largeur de 1).L'exemple montre en partie supérieur, le rectangle dessiné avec le pen non transformé. Les rectangles en partie inférieure représentent les rectangles transformés. A droite, avec l'alignement valant #PenAlignmentCenter et à gauche l'alignement valant #PenAlignmentInset.
Un rectangle non modifié est dessiné avec une autre couleur sur le rectangle transformé, montrant comment le pen dessine les rectangles transformés en fonction de l'alignement.
La largeur du pen assigné lors de sa création ou par la fonction GdipSetPenWidth() n'est pas modifié, c'est le rendu qui l'est. Un appel de la fonction GdipGetPenWidth() retourne la vraie largeur du pen.
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