Remplace les coefficients d'une matrice par les coefficients du produit d'elle-même par une matrice d'inclinaison, dans l'ordre spécifié
#include <GDIPlus.au3>
_GDIPlus_MatrixShear ( $hMatrix, $fShearX, $fShearY [, $iOrder = 0] )
$hMatrix | Handle de l'objet Matrix |
$fShearX | Nombre qui spécifie le facteur d'inclinaison horizontale |
$fShearY | Nombre qui spécifie le facteur d'inclinaison verticale |
$iOrder | [optionnel] Ordre de multiplication des matrices: 0 - La matrice passée est à gauche 1 - La matrice passée est à droite |
Succès: | Retourne True. |
Échec: | Retourne False. |
Si un des paramètres est égal à 0, la transformation appliquée est une inclinaison pure. Lorsqu'elle est appliquée à un rectangle à l'origine, alors que le facteur shearY est 0, la transformation déplace le bord inférieur horizontalement d'une valeur égale à shearX fois la hauteur du rectangle. Lorsque le facteur shearX est égal à 0, elle déplace le bord droit verticalement de shearY fois la largeur du rectangle. Faites attention lorsque aucun des deux paramètres n'est égal à zéro, car cela peut produire des résultats inattendus.
Consultez GdipShearMatrix dans la Librairie MSDN.
#include <GDIPlus.au3> #include <GUIConstantsEx.au3> Example() Func Example() Local $hGUI, $hGraphic, $hBrush, $hPen, $hPath, $hFamily, $tLayout, $hMatrix ; Crée une GUI $hGUI = GUICreate("GDI+", 520, 160) GUISetState(@SW_SHOW) ; Dessine une chaîne en utilisant un Path _GDIPlus_Startup() $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI) ; Crée un objet graphique à partir du handle de la fenêtre $hBrush = _GDIPlus_BrushCreateSolid(0xFFDD2200) $hPen = _GDIPlus_PenCreate(0xFFFFBB00, 2) $hPath = _GDIPlus_PathCreate() ; Crée un objet path $hFamily = _GDIPlus_FontFamilyCreate("Arial") ; Crée un objet FontFamily $tLayout = _GDIPlus_RectFCreate() ; Crée une chaîne dans un rectangle X=0, Y=0 _GDIPlus_PathAddString($hPath, "AutoIt rulez!", $tLayout, $hFamily, 0, 72, 0) ; Ajoute le contour de la chaîne au Path $hMatrix = _GDIPlus_MatrixCreate() _GDIPlus_MatrixShear($hMatrix, 0.8, 0.1) _GDIPlus_PathTransform($hPath, $hMatrix) _GDIPlus_GraphicsSetSmoothingMode($hGraphic, 2) ; Définit pour l'objet graphique la qualité de rendu antialiasing _GDIPlus_GraphicsClear($hGraphic, 0xFF000000) _GDIPlus_GraphicsFillPath($hGraphic, $hPath, $hBrush) ; Dessine le Path avec le handle Graphic (GUI) _GDIPlus_GraphicsDrawPath($hGraphic, $hPath, $hPen) ; Dessine le Path avec le handle Graphic (GUI) ; Boucle jusqu'à ce que l'utilisateur quitte. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE ; Nettoie les ressources _GDIPlus_MatrixDispose($hMatrix) _GDIPlus_FontFamilyDispose($hFamily) _GDIPlus_PathDispose($hPath) _GDIPlus_PenDispose($hPen) _GDIPlus_BrushDispose($hBrush) _GDIPlus_GraphicsDispose($hGraphic) _GDIPlus_Shutdown() EndFunc ;==>Example