GdipSetTextureTransform()



Syntaxe
Resultat.i = GdipSetTextureTransform(*brush, *matrix.)
Paramètres
*brush

[in] Pointeur sur un objet TextureBrush.

*matrix

[in] Pointeur sur un objet Matrix Matrix qui spécifie la matrice de transformation. à appliquer à la brush.

Description

Cette fonction permet d'appliquer une matrice de transformation à la brush. 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.

L'exemple montre une modification à l'aide de la matrice GdipCreateMatrix2().

L'image du haut représente la brush d'origine avec l'image complète dessinée dans un ImageGadget() de la taille de la brush.
Ensuite la brush d'origine est clonée puis on lui applique la matrice de transformation qui divise par 2 la largeur et la longueur de la brush (multiplication par 0.5), ce qui entraîne une répétition du motif de la brush 4 fois car la surface du rendu de la brush modifiée est 4 fois plus petite que celle d'origine et la brush modifiée va remplir complètement la surface car le WrapMode de la brush est #WrapModeTile qui est un des mode de répétition. Si le mode avait été #WrapModeClamp, il n'y aurait pas eu répétition du motif mais celui-ci aurait été dessiné une fois aux coordonnées (x=0,y=0) du HDC correspondant.

Vous pouvez modifier les 2 valeurs 0.5 de la matrice par 0.25 pour voir le résultat (division par 4 de la largeur et hauteur soit une surface 16 fois plus petites, on aura 16 fois le motif dessiné dans la surface).

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