Crée un nouvel objet image en clonant une image source
#include <GDIPlus.au3>
_GDIPlus_ImageClone ( $hImage )
$hImage | Un pointeur sur un objet image. |
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*). |
N'oubliez pas de libérer l'image clonée en utilisant _GDIPlus_ImageDispose.
Consultez GdipCloneImage dans la librairie MSDN.
#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