UDF > GDIPlus > Graphics >


_GDIPlus_GraphicsDrawImagePointsRect

Dessine une image

#include <GDIPlus.au3>
_GDIPlus_GraphicsDrawImagePointsRect ( $hGraphics, $hImage, $nULX, $nULY, $nURX, $nURY, $nLLX, $nLLY, $nSrcX, $nSrcY, $nSrcWidth, $nSrcHeight [, $hImageAttributes = 0 [, $iUnit = 2]] )

Paramètres

$hGraphics Handle de l'objet Graphics
$hImage Handle de l'objet Image
$nULX La coordonnée X du coin supérieur gauche de l'image source
$nULY La coordonnée Y du coin supérieur gauche de l'image source
$nURX La coordonnée X du coin supérieur droit de l'image source
$nURY La coordonnée Y du coin supérieur droit de l'image source
$nLLX La coordonnée X du coin inférieur gauche de l'image source
$nLLY La coordonnée Y du coin inférieur gauche de l'image source
$nSrcX La coordonnée X du coin supérieur gauche de la portion de l'image source qui doit être dessinée
$nSrcY La coordonnée Y du coin supérieur gauche de la portion de l'image source qui doit être dessinée
$nSrcWidth La largeur de l'image source qui doit être dessinée
$nSrcHeight La hauteur de l'image source qui doit être dessinée
$hImageAttributes [optionnel] Handle de l'objet ImageAttributes qui spécifie les attributs de couleur et de taille de l'image qui doit être dessinée
$iUnit [optionnel] Unité de mesure:
    0 - Coordonnées mondiales, une unité non physique
    1 - Unité d'affichage
    2 - Unité de 1 pixel
    3 - Unité de 1 point ou 1/72 pouce
    4 - Unité de 1 pouce
    5 - Unité de 1/300 pouce
    6 - Unité de 1 millimètre

Valeur de retour

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

En relation

_GDIPlus_GraphicsDrawImage

Voir aussi

Consultez GdipDrawImagePointsRect dans la Librairie MSDN.

Exemple

#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Support d'exécution X64
    Local $sWow64 = ""
    If @AutoItX64 Then $sWow64 = "\Wow6432Node"

    ; Obtient le dossier d'installation de AutoIt
    Local $sRegPath = "HKLM\SOFTWARE" & $sWow64 & "\AutoIt v3\AutoIt"

    Local $sFile = RegRead($sRegPath, "InstallDir") & "\Examples\GUI\logo4.gif"
    If Not FileExists($sFile) Then
        MsgBox(BitOR($MB_SYSTEMMODAL, $MB_ICONHAND), "", $sFile & " not found!", 30)
        Return False
    EndIf

    _GDIPlus_Startup()
    Local $hImage = _GDIPlus_ImageLoadFromFile($sFile) ; Crée un objet image lié à un fichier
    If @error Then
        _GDIPlus_Shutdown()
        MsgBox(BitOR($MB_SYSTEMMODAL, $MB_ICONHAND), "", "An error has occured - unable to load image!", 30)
        Return False
    EndIf

    Local $hGUI, $hGraphic, $iImgW, $iImgH

    ; Crée une GUI
    $hGUI = GUICreate("GDI+", 800, 400)
    GUISetState(@SW_SHOW)
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI) ; Crée un objet graphics à partir du handle d'une fenêtre

    $iImgW = _GDIPlus_ImageGetWidth($hImage)
    $iImgH = _GDIPlus_ImageGetHeight($hImage)

    _GDIPlus_GraphicsDrawImagePointsRect($hGraphic, $hImage, 100, 10, 300, 60, 90, 160, 0, 0, $iImgW * 0.45, $iImgH)
    _GDIPlus_GraphicsDrawImagePointsRect($hGraphic, $hImage, 300, 60, 360, 30, 290, 210, $iImgW * 0.45, 0, $iImgW * 0.2, $iImgH)
    _GDIPlus_GraphicsDrawImagePointsRect($hGraphic, $hImage, 360, 30, 560, 80, 350, 180, $iImgW * 0.65, 0, $iImgW * 0.35, $iImgH)

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    ; Libère les ressources
    _GDIPlus_ImageDispose($hImage)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_Shutdown()
    GUIDelete($hGUI)
EndFunc   ;==>Example