UDF > GDIPlus > Matrix >


_GDIPlus_MatrixShear

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] )

Paramètres

$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

Valeur de retour

Succès: Retourne True.
Échec: Retourne False.

Remarque

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.

Voir aussi

Consultez GdipShearMatrix dans la Librairie MSDN.

Exemple

#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