UDF > GDIPlus > Image >


_GDIPlus_ImageClone

Crée un nouvel objet image en clonant une image source

#include <GDIPlus.au3>
_GDIPlus_ImageClone ( $hImage )

Paramètre

$hImage Un pointeur sur un objet image.

Valeur de retour

Succès: Retourne le handle de l'objet image qui contient le clone de l'image.
Échec: Retourne 0 et définit @error <> 0, @extended peut contenir le code d'erreur GPSTATUS ($GPID_ERR*).

Remarque

N'oubliez pas de libérer l'image clonée en utilisant _GDIPlus_ImageDispose.

Voir aussi

Consultez GdipCloneImage dans la librairie MSDN.

Exemple

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

Example()

Func Example()
    Local $sFile, $hClone, $hImage, $hGUI, $aDim, $hCanvas

    ; Charge une image
    $sFile = FileOpenDialog("Select an image", "", "Image (*.jpg;*.png;*.bmp;*.gif;*.tif)")
    If @error Then Exit MsgBox($MB_ICONWARNING, "Avertissement", "Aucune image sélectionnée! Le script va se terminer...")

    ; Initialise la librairie GDI+
    _GDIPlus_Startup()

    ; Capture un bitmap 32 bit
    $hImage = _GDIPlus_ImageLoadFromFile($sFile)
    If @error Then
        _GDIPlus_Shutdown()
        Exit MsgBox($MB_ICONERROR, "Erreur", "L'image n'est pas supportée par GDIPlus! Le script va se terminer...")
    EndIf

    ; Crée un clone de l'image
    $hClone = _GDIPlus_ImageClone($hImage)

    ; Affiche l'image clonée dans une GUI
    $aDim = _GDIPlus_ImageGetDimension($hClone)
    $hGUI = GUICreate("_GDIPlus_ImageClone Example", $aDim[0] > @DesktopWidth ? @DesktopWidth : $aDim[0], $aDim[1] > @DesktopHeight ? @DesktopHeight : $aDim[1], -1, -1, $WS_POPUPWINDOW, $WS_EX_TOPMOST)
    GUISetState()
    $hCanvas = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    _GDIPlus_GraphicsDrawImageRect($hCanvas, $hClone, 0, 0, $aDim[0], $aDim[1])

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    ; Libère les ressources
    _GDIPlus_ImageDispose($hImage)
    _GDIPlus_ImageDispose($hClone)
    _GDIPlus_GraphicsDispose($hCanvas)

    ; Arrête la librairie GDI+
    _GDIPlus_Shutdown()

EndFunc   ;==>Example