Remplace les coefficients d'une matrice par les coefficients du produit d'elle-même par une matrice de translation
#include <GDIPlus.au3>
_GDIPlus_MatrixTranslate ( $hMatrix, $fOffsetX, $fOffsetY [, $bAppend = False] )
$hMatrix | Handle de l'objet Matrix |
$fOffsetX | Nombre de pixels à ajouter le long de l'axe x |
$fOffsetY | Nombre de pixels à ajouter le long de l'axe y |
$bAppend | [optionnel] Spécifie l'ordre de la multiplication: True - La matrice de translation est à gauche False - La matrice de translation est à droite |
Succès: | Retourne True. |
Échec: | Retourne False et définit @error <> 0, @extended contient le code erreur ($GPID_ERR*). |
Consultez GdipTranslateMatrix dans la Librairie MSDN.
#include <GDIPlus.au3> #include <GUIConstantsEx.au3> ; Crée une GUI Local $hWnd = GUICreate("GDI+ Example", 400, 300) GUISetState(@SW_SHOW) ; Lance GDI+ _GDIPlus_Startup() Local $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hWnd) Local $hMatrix = _GDIPlus_MatrixCreate() ; Matrice de translation de la moitié de la largeur de la fenêtre et de la moitié de la hauteur _GDIPlus_MatrixTranslate($hMatrix, 200, 150) _GDIPlus_MatrixRotate($hMatrix, 45) _GDIPlus_GraphicsSetTransform($hGraphics, $hMatrix) Local $hPen = _GDIPlus_PenCreate(0xFF00FF00, 10) _GDIPlus_GraphicsClear($hGraphics) ; Dessine autour du coin supérieur gauche de la gui, mais depuis que nous avons translaté la matrice l'objet apparaît au centre de la gui _GDIPlus_GraphicsDrawRect($hGraphics, -50, -50, 100, 100, $hPen) Do Until GUIGetMsg() = $GUI_EVENT_CLOSE ; Nettoie les ressources _GDIPlus_PenDispose($hPen) _GDIPlus_MatrixDispose($hMatrix) _GDIPlus_GraphicsDispose($hGraphics) _GDIPlus_Shutdown()