UDF > GDIPlus > Matrix >


_GDIPlus_MatrixTranslate

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

Param�tres

$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

Valeur de retour

Succ�s: Retourne True.
�chec: Retourne False et d�finit @error <> 0, @extended contient le code erreur ($GPID_ERR*).

Voir aussi

Consultez GdipTranslateMatrix dans la Librairie MSDN.

Exemple

#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()