UDF > GDIPlus > Image >


_GDIPlus_ImageLoadFromFile

Crée un objet image à partir d'un fichier

#include <GDIPlus.au3>
_GDIPlus_ImageLoadFromFile ( $sFileName )

Paramètre

$sFileName Nom complet (avec le chemin) du fichier image

Valeur de retour

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

En relation

_GDIPlus_ImageSaveToFile, _GDIPlus_ImageSaveToFileEx

Voir aussi

Consultez GdipLoadImageFromFile dans la Librairie MSDN.

Exemple

#include <GDIPlus.au3>
#include <ScreenCapture.au3>

Example()

Func Example()
    Local $hImage, $sCLSID, $tData, $tParams

    ; Capture d'écran
    _ScreenCapture_Capture(@MyDocumentsDir & "\GDIPlus_Image.jpg")

    ; Initialise la bibliothèque GDI+
    _GDIPlus_Startup()

    ; Charge l'image
    $hImage = _GDIPlus_ImageLoadFromFile(@MyDocumentsDir & "\GDIPlus_Image.jpg")

    ; Obtient le CLSID de l'encodeur JPEG
    $sCLSID = _GDIPlus_EncodersGetCLSID("JPG")

    ; Met en place des paramètres pour la rotation de 90 degrés
    $tData = DllStructCreate("int Data")
    DllStructSetData($tData, "Data", $GDIP_EVTTRANSFORMROTATE90)
    $tParams = _GDIPlus_ParamInit(1)
    _GDIPlus_ParamAdd($tParams, $GDIP_EPGTRANSFORMATION, 1, $GDIP_EPTLONG, DllStructGetPtr($tData, "Data"))

    ; Enregistre l'image résultat de la rotation
    _GDIPlus_ImageSaveToFileEx($hImage, @MyDocumentsDir & "\GDIPlus_Image2.jpg", $sCLSID, DllStructGetPtr($tParams))

    ; Nettoie les ressources
    _GDIPlus_ImageDispose($hImage)

    ; Arrête la bibliothèque GDI+
    _GDIPlus_Shutdown()

    ShellExecute(@MyDocumentsDir & "\GDIPlus_Image2.jpg")
EndFunc   ;==>Example

Exemple 2

; Support PNG par Zedna

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

; Crée une GUI
Global $g_hGUI = GUICreate("Show PNG", 250, 250)

; Charge une image PNG
_GDIPlus_Startup()
Global $g_hImage = _GDIPlus_ImageLoadFromFile("..\GUI\Torus.png")
Global $g_hGraphic = _GDIPlus_GraphicsCreateFromHWND($g_hGUI)

GUIRegisterMsg($WM_PAINT, "MY_WM_PAINT")
GUISetState(@SW_SHOW)

; Boucle jusqu'à ce que l'utilisateur quitte.
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE 

; Libère les ressources
_GDIPlus_GraphicsDispose($g_hGraphic)
_GDIPlus_ImageDispose($g_hImage)
_GDIPlus_Shutdown()

; Dessine l'image PNG
Func MY_WM_PAINT($hWnd, $iMsg, $wParam, $lParam)
    #forceref $hWnd, $iMsg, $wParam, $lParam
    _WinAPI_RedrawWindow($g_hGUI, 0, 0, $RDW_UPDATENOW)
    _GDIPlus_GraphicsDrawImage($g_hGraphic, $g_hImage, 0, 0)
    _WinAPI_RedrawWindow($g_hGUI, 0, 0, $RDW_VALIDATE)
    Return $GUI_RUNDEFMSG
EndFunc   ;==>MY_WM_PAINT