GdipTranslatePathGradientTransform()



Syntaxe
Resultat.i = GdipTranslatePathGradientTransform(*brush, dx.f, dy.f, order.i)
Paramètres
*brush

[in] Pointeur sur un objet PathGradientBrush.

dx.f

[in] Valeur de translation sur l'axe x.

dy.f

[in] Valeur de translation sur l'axe y.

order.i

[in] Elément de l'énumération MatrixOrder qui indique l'ordre de la multiplication des matrices. MatrixOrderPrepend indique que la multiplication se fait de gauche à droite et MatrixOrderAppend indique que la multiplication se fait de droite à gauche. La valeur par défaut est MatrixOrderPrepend. Ces valeurs déterminent l'ordre d'application des transformations tel que défini par l'énumération MatrixOrder.

Description
Cette fonction met à jour la matrice de transformation courante de la brush avec le résultat du produit de la matrice courante et d'une matrice de translation dont les valeurs sont contenues dans les paramètres dx.f et dy.f.
En conséquence, le dégradé subit une transformation en fonction des valeurs passées par dx.f et dy.f en suivant l'ordre définit par order.l.

Cette fonction effectue une translation des origines de la brush sur le rendu de la brush selon les valeurs spécifiées.

On défini une brush en forme de losange, centre rouge et contour blanc.
Largeur et hauteur 200 pixels.
La brush est définie avec la fonction GdipCreatePathGradient()
La première couleur est le rouge et la couleur d'arrivée le blanc.
WrapMode #WrapModeTile
Brush dessinée dans un carré de 200 x 200

Voici le rendu de la brush

On va appliquer à cette brush, la translation suivante :

dx.f = 100

L'origine en X de la brush a subi un "glissement" vers la droite (sx > 0) de 100 pixels, les 100 derniers pixels de la brush d'origine (les plus à droite) viennent au début du nouveau rendu.

dy.f = 0

Il n'y a pas de translation en y

Voici le rendu de la brush:

On va appliquer à la brush d'origine (sans aucune modification), la translation suivante :

dx.f = 0

dy.f = 100

Voici le rendu de la brush :

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